EcopportunityX - Escape The Wiki ecopportunityxwiki https://ecopportunityx.miraheze.org/wiki/Main_Page MediaWiki 1.40.1 first-letter Media Special Talk User User talk EcopportunityX - Escape The Wiki EcopportunityX - Escape The Wiki talk File File talk MediaWiki MediaWiki talk Template Template talk Help Help talk Category Category talk Module Module talk CommentStreams CommentStreams Talk Template:Clear 10 60 163 2022-03-08T14:12:32Z dev>DarkMatterMan4500 0 Created page with "<div style="clear:{{{1|both}}};"></div><noinclude> {{documentation}} </noinclude>" wikitext text/x-wiki <div style="clear:{{{1|both}}};"></div><noinclude> {{documentation}} </noinclude> 38bab3e3d7fbd3d6800d46556e60bc6bac494d72 Template:Tl 10 67 177 2022-09-30T01:09:19Z dev>Pppery 0 Redirected page to [[Template:Template link]] wikitext text/x-wiki #REDIRECT [[Template:Template link]] fb9a6b420e13178e581af6e7d64274cd30a79017 Template:Template link 10 65 173 2022-09-30T01:10:00Z dev>Pppery 0 46 revisions imported from [[:wikipedia:Template:Template_link]] wikitext text/x-wiki &#123;&#123;[[Template:{{{1}}}|{{{1}}}]]&#125;&#125;<noinclude>{{documentation}} <!-- Categories go on the /doc subpage and interwikis go on Wikidata. --> </noinclude> eabbec62efe3044a98ebb3ce9e7d4d43c222351d Module:Documentation/styles.css 828 72 187 2022-09-30T01:42:23Z dev>Pppery 0 text text/plain .documentation, .documentation-metadata { border: 1px solid #a2a9b1; background-color: #ecfcf4; clear: both; } .documentation { margin: 1em 0 0 0; padding: 1em; } .documentation-metadata { margin: 0.2em 0; /* same margin left-right as .documentation */ font-style: italic; padding: 0.4em 1em; /* same padding left-right as .documentation */ } .documentation-startbox { padding-bottom: 3px; border-bottom: 1px solid #aaa; margin-bottom: 1ex; } .documentation-heading { font-weight: bold; font-size: 125%; } .documentation-clear { /* Don't want things to stick out where they shouldn't. */ clear: both; } .documentation-toolbar { font-style: normal; font-size: 85%; } 37daf53a6ac29b7858ece6841d9f2d2f980a5366 Template:Documentation 10 61 165 2022-09-30T01:43:37Z dev>MacFan4000 0 4 revisions imported from [[:meta:Template:Documentation]]: this is useful and was on templateiwki wikitext text/x-wiki {{#invoke:documentation|main|_content={{ {{#invoke:documentation|contentTitle}}}}}}<noinclude>[[Category:Templates]]</noinclude> 9885bb4fa99bf3d5b960e73606bbb8eed3026877 Template:Tlx 10 68 179 2022-09-30T02:04:32Z dev>Pppery 0 Redirected page to [[Template:Template link expanded]] wikitext text/x-wiki #REDIRECT [[Template:Template link expanded]] 155e901040104f96908f1f4627c4eb3501301bf9 Module:Arguments 828 69 181 2022-09-30T02:32:01Z dev>Pppery 0 24 revisions imported from [[:wikipedia:Module:Arguments]] Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end local function matchesTitle(given, title) local tp = type( given ) return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title end local translate_mt = { __index = function(t, k) return k end } function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} --[[ -- Set up argument translation. --]] options.translate = options.translate or {} if getmetatable(options.translate) == nil then setmetatable(options.translate, translate_mt) end if options.backtranslate == nil then options.backtranslate = {} for k,v in pairs(options.translate) do options.backtranslate[v] = k end end if options.backtranslate and getmetatable(options.backtranslate) == nil then setmetatable(options.backtranslate, { __index = function(t, k) if options.translate[k] ~= k then return nil else return k end end }) end --[[ -- Get the argument tables. If we were passed a valid frame object, get the -- frame arguments (fargs) and the parent frame arguments (pargs), depending -- on the options set and on the parent frame's availability. If we weren't -- passed a valid frame object, we are being called from another Lua module -- or from the debug console, so assume that we were passed a table of args -- directly, and assign it to a new variable (luaArgs). --]] local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if options.wrappers then --[[ -- The wrappers option makes Module:Arguments look up arguments in -- either the frame argument table or the parent argument table, but -- not both. This means that users can use either the #invoke syntax -- or a wrapper template without the loss of performance associated -- with looking arguments up in both the frame and the parent frame. -- Module:Arguments will look up arguments in the parent frame -- if it finds the parent frame's title in options.wrapper; -- otherwise it will look up arguments in the frame object passed -- to getArgs. --]] local parent = frame:getParent() if not parent then fargs = frame.args else local title = parent:getTitle():gsub('/sandbox$', '') local found = false if matchesTitle(options.wrappers, title) then found = true elseif type(options.wrappers) == 'table' then for _,v in pairs(options.wrappers) do if matchesTitle(v, title) then found = true break end end end -- We test for false specifically here so that nil (the default) acts like true. if found or options.frameOnly == false then pargs = parent.args end if not found or options.parentOnly == false then fargs = frame.args end end else -- options.wrapper isn't set, so check the other options. if not options.parentOnly then fargs = frame.args end if not options.frameOnly then local parent = frame:getParent() pargs = parent and parent.args or nil end end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set the order of precedence of the argument tables. If the variables are -- nil, nothing will be added to the table, which is how we avoid clashes -- between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Generate the tidyVal function. If it has been specified by the user, we -- use that; if not, we choose one of four functions depending on the -- options chosen. This is so that we don't have to call the options table -- every time the function is called. --]] local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error( "bad value assigned to option 'valueFunc'" .. '(function expected, got ' .. type(tidyVal) .. ')', 2 ) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end --[[ -- Set up the args, metaArgs and nilArgs tables. args will be the one -- accessed from functions, and metaArgs will hold the actual arguments. Nil -- arguments are memoized in nilArgs, and the metatable connects all of them -- together. --]] local args, metaArgs, nilArgs, metatable = {}, {}, {}, {} setmetatable(args, metatable) local function mergeArgs(tables) --[[ -- Accepts multiple tables as input and merges their keys and values -- into one table. If a value is already present it is not overwritten; -- tables listed earlier have precedence. We are also memoizing nil -- values, which can be overwritten if they are 's' (soft). --]] for _, t in ipairs(tables) do for key, val in pairs(t) do if metaArgs[key] == nil and nilArgs[key] ~= 'h' then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then nilArgs[key] = 's' else metaArgs[key] = tidiedVal end end end end end --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, -- and are only fetched from the argument tables once. Fetching arguments -- from the argument tables is the most resource-intensive step in this -- module, so we try and avoid it where possible. For this reason, nil -- arguments are also memoized, in the nilArgs table. Also, we keep a record -- in the metatable of when pairs and ipairs have been called, so we do not -- run pairs and ipairs on the argument tables more than once. We also do -- not run ipairs on fargs and pargs if pairs has already been run, as all -- the arguments will already have been copied over. --]] metatable.__index = function (t, key) --[[ -- Fetches an argument when the args table is indexed. First we check -- to see if the value is memoized, and if not we try and fetch it from -- the argument tables. When we check memoization, we need to check -- metaArgs before nilArgs, as both can be non-nil at the same time. -- If the argument is not present in metaArgs, we also check whether -- pairs has been run yet. If pairs has already been run, we return nil. -- This is because all the arguments will have already been copied into -- metaArgs by the mergeArgs function, meaning that any other arguments -- must be nil. --]] if type(key) == 'string' then key = options.translate[key] end local val = metaArgs[key] if val ~= nil then return val elseif metatable.donePairs or nilArgs[key] then return nil end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal ~= nil then metaArgs[key] = argTableVal return argTableVal end end nilArgs[key] = 'h' return nil end metatable.__newindex = function (t, key, val) -- This function is called when a module tries to add a new value to the -- args table, or tries to change an existing value. if type(key) == 'string' then key = options.translate[key] end if options.readOnly then error( 'could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2 ) elseif options.noOverwrite and args[key] ~= nil then error( 'could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2 ) elseif val == nil then --[[ -- If the argument is to be overwritten with nil, we need to erase -- the value in metaArgs, so that __index, __pairs and __ipairs do -- not use a previous existing value, if present; and we also need -- to memoize the nil in nilArgs, so that the value isn't looked -- up in the argument tables if it is accessed again. --]] metaArgs[key] = nil nilArgs[key] = 'h' else metaArgs[key] = val end end local function translatenext(invariant) local k, v = next(invariant.t, invariant.k) invariant.k = k if k == nil then return nil elseif type(k) ~= 'string' or not options.backtranslate then return k, v else local backtranslate = options.backtranslate[k] if backtranslate == nil then -- Skip this one. This is a tail call, so this won't cause stack overflow return translatenext(invariant) else return backtranslate, v end end end metatable.__pairs = function () -- Called when pairs is run on the args table. if not metatable.donePairs then mergeArgs(argTables) metatable.donePairs = true end return translatenext, { t = metaArgs } end local function inext(t, i) -- This uses our __index metamethod local v = t[i + 1] if v ~= nil then return i + 1, v end end metatable.__ipairs = function (t) -- Called when ipairs is run on the args table. return inext, t, 0 end return args end return arguments 3134ecce8429b810d445e29eae115e2ae4c36c53 Module:Documentation 828 70 183 2022-09-30T02:36:08Z dev>Pppery 0 Pppery moved page [[Module:Documentation/2]] to [[Module:Documentation]] without leaving a redirect Scribunto text/plain -- This module implements {{documentation}}. -- Get required modules. local getArgs = require('Module:Arguments').getArgs -- Get the config table. local cfg = mw.loadData('Module:Documentation/config') local p = {} -- Often-used functions. local ugsub = mw.ustring.gsub ---------------------------------------------------------------------------- -- Helper functions -- -- These are defined as local functions, but are made available in the p -- table for testing purposes. ---------------------------------------------------------------------------- local function message(cfgKey, valArray, expectType) --[[ -- Gets a message from the cfg table and formats it if appropriate. -- The function raises an error if the value from the cfg table is not -- of the type expectType. The default type for expectType is 'string'. -- If the table valArray is present, strings such as $1, $2 etc. in the -- message are substituted with values from the table keys [1], [2] etc. -- For example, if the message "foo-message" had the value 'Foo $2 bar $1.', -- message('foo-message', {'baz', 'qux'}) would return "Foo qux bar baz." --]] local msg = cfg[cfgKey] expectType = expectType or 'string' if type(msg) ~= expectType then error('message: type error in message cfg.' .. cfgKey .. ' (' .. expectType .. ' expected, got ' .. type(msg) .. ')', 2) end if not valArray then return msg end local function getMessageVal(match) match = tonumber(match) return valArray[match] or error('message: no value found for key $' .. match .. ' in message cfg.' .. cfgKey, 4) end return ugsub(msg, '$([1-9][0-9]*)', getMessageVal) end p.message = message local function makeWikilink(page, display) if display then return mw.ustring.format('[[%s|%s]]', page, display) else return mw.ustring.format('[[%s]]', page) end end p.makeWikilink = makeWikilink local function makeCategoryLink(cat, sort) local catns = mw.site.namespaces[14].name return makeWikilink(catns .. ':' .. cat, sort) end p.makeCategoryLink = makeCategoryLink local function makeUrlLink(url, display) return mw.ustring.format('[%s %s]', url, display) end p.makeUrlLink = makeUrlLink local function makeToolbar(...) local ret = {} local lim = select('#', ...) if lim < 1 then return nil end for i = 1, lim do ret[#ret + 1] = select(i, ...) end -- 'documentation-toolbar' return '<span class="' .. message('toolbar-class') .. '">(' .. table.concat(ret, ' &#124; ') .. ')</span>' end p.makeToolbar = makeToolbar ---------------------------------------------------------------------------- -- Argument processing ---------------------------------------------------------------------------- local function makeInvokeFunc(funcName) return function (frame) local args = getArgs(frame, { valueFunc = function (key, value) if type(value) == 'string' then value = value:match('^%s*(.-)%s*$') -- Remove whitespace. if key == 'heading' or value ~= '' then return value else return nil end else return value end end }) return p[funcName](args) end end ---------------------------------------------------------------------------- -- Entry points ---------------------------------------------------------------------------- function p.nonexistent(frame) if mw.title.getCurrentTitle().subpageText == 'testcases' then return frame:expandTemplate{title = 'module test cases notice'} else return p.main(frame) end end p.main = makeInvokeFunc('_main') function p._main(args) --[[ -- This function defines logic flow for the module. -- @args - table of arguments passed by the user --]] local env = p.getEnvironment(args) local root = mw.html.create() root :tag('div') -- 'documentation-container' :addClass(message('container')) :attr('role', 'complementary') :attr('aria-labelledby', args.heading ~= '' and 'documentation-heading' or nil) :attr('aria-label', args.heading == '' and 'Documentation' or nil) :newline() :tag('div') -- 'documentation' :addClass(message('main-div-classes')) :newline() :wikitext(p._startBox(args, env)) :wikitext(p._content(args, env)) :tag('div') -- 'documentation-clear' :addClass(message('clear')) :done() :newline() :done() :wikitext(p._endBox(args, env)) :done() :wikitext(p.addTrackingCategories(env)) -- 'Module:Documentation/styles.css' return mw.getCurrentFrame():extensionTag ( 'templatestyles', '', {src=cfg['templatestyles'] }) .. tostring(root) end ---------------------------------------------------------------------------- -- Environment settings ---------------------------------------------------------------------------- function p.getEnvironment(args) --[[ -- Returns a table with information about the environment, including title -- objects and other namespace- or path-related data. -- @args - table of arguments passed by the user -- -- Title objects include: -- env.title - the page we are making documentation for (usually the current title) -- env.templateTitle - the template (or module, file, etc.) -- env.docTitle - the /doc subpage. -- env.sandboxTitle - the /sandbox subpage. -- env.testcasesTitle - the /testcases subpage. -- -- Data includes: -- env.subjectSpace - the number of the title's subject namespace. -- env.docSpace - the number of the namespace the title puts its documentation in. -- env.docpageBase - the text of the base page of the /doc, /sandbox and /testcases pages, with namespace. -- env.compareUrl - URL of the Special:ComparePages page comparing the sandbox with the template. -- -- All table lookups are passed through pcall so that errors are caught. If an error occurs, the value -- returned will be nil. --]] local env, envFuncs = {}, {} -- Set up the metatable. If triggered we call the corresponding function in the envFuncs table. The value -- returned by that function is memoized in the env table so that we don't call any of the functions -- more than once. (Nils won't be memoized.) setmetatable(env, { __index = function (t, key) local envFunc = envFuncs[key] if envFunc then local success, val = pcall(envFunc) if success then env[key] = val -- Memoise the value. return val end end return nil end }) function envFuncs.title() -- The title object for the current page, or a test page passed with args.page. local title local titleArg = args.page if titleArg then title = mw.title.new(titleArg) else title = mw.title.getCurrentTitle() end return title end function envFuncs.templateTitle() --[[ -- The template (or module, etc.) title object. -- Messages: -- 'sandbox-subpage' --> 'sandbox' -- 'testcases-subpage' --> 'testcases' --]] local subjectSpace = env.subjectSpace local title = env.title local subpage = title.subpageText if subpage == message('sandbox-subpage') or subpage == message('testcases-subpage') then return mw.title.makeTitle(subjectSpace, title.baseText) else return mw.title.makeTitle(subjectSpace, title.text) end end function envFuncs.docTitle() --[[ -- Title object of the /doc subpage. -- Messages: -- 'doc-subpage' --> 'doc' --]] local title = env.title local docname = args[1] -- User-specified doc page. local docpage if docname then docpage = docname else docpage = env.docpageBase .. '/' .. message('doc-subpage') end return mw.title.new(docpage) end function envFuncs.sandboxTitle() --[[ -- Title object for the /sandbox subpage. -- Messages: -- 'sandbox-subpage' --> 'sandbox' --]] return mw.title.new(env.docpageBase .. '/' .. message('sandbox-subpage')) end function envFuncs.testcasesTitle() --[[ -- Title object for the /testcases subpage. -- Messages: -- 'testcases-subpage' --> 'testcases' --]] return mw.title.new(env.docpageBase .. '/' .. message('testcases-subpage')) end function envFuncs.subjectSpace() -- The subject namespace number. return mw.site.namespaces[env.title.namespace].subject.id end function envFuncs.docSpace() -- The documentation namespace number. For most namespaces this is the -- same as the subject namespace. However, pages in the Article, File, -- MediaWiki or Category namespaces must have their /doc, /sandbox and -- /testcases pages in talk space. local subjectSpace = env.subjectSpace if subjectSpace == 0 or subjectSpace == 6 or subjectSpace == 8 or subjectSpace == 14 then return subjectSpace + 1 else return subjectSpace end end function envFuncs.docpageBase() -- The base page of the /doc, /sandbox, and /testcases subpages. -- For some namespaces this is the talk page, rather than the template page. local templateTitle = env.templateTitle local docSpace = env.docSpace local docSpaceText = mw.site.namespaces[docSpace].name -- Assemble the link. docSpace is never the main namespace, so we can hardcode the colon. return docSpaceText .. ':' .. templateTitle.text end function envFuncs.compareUrl() -- Diff link between the sandbox and the main template using [[Special:ComparePages]]. local templateTitle = env.templateTitle local sandboxTitle = env.sandboxTitle if templateTitle.exists and sandboxTitle.exists then local compareUrl = mw.uri.fullUrl( 'Special:ComparePages', { page1 = templateTitle.prefixedText, page2 = sandboxTitle.prefixedText} ) return tostring(compareUrl) else return nil end end return env end ---------------------------------------------------------------------------- -- Start box ---------------------------------------------------------------------------- p.startBox = makeInvokeFunc('_startBox') function p._startBox(args, env) --[[ -- This function generates the start box. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- The actual work is done by p.makeStartBoxLinksData and p.renderStartBoxLinks which make -- the [view] [edit] [history] [purge] links, and by p.makeStartBoxData and p.renderStartBox -- which generate the box HTML. --]] env = env or p.getEnvironment(args) local links local content = args.content if not content or args[1] then -- No need to include the links if the documentation is on the template page itself. local linksData = p.makeStartBoxLinksData(args, env) if linksData then links = p.renderStartBoxLinks(linksData) end end -- Generate the start box html. local data = p.makeStartBoxData(args, env, links) if data then return p.renderStartBox(data) else -- User specified no heading. return nil end end function p.makeStartBoxLinksData(args, env) --[[ -- Does initial processing of data to make the [view] [edit] [history] [purge] links. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'view-link-display' --> 'view' -- 'edit-link-display' --> 'edit' -- 'history-link-display' --> 'history' -- 'purge-link-display' --> 'purge' -- 'module-preload' --> 'Template:Documentation/preload-module-doc' -- 'docpage-preload' --> 'Template:Documentation/preload' -- 'create-link-display' --> 'create' --]] local subjectSpace = env.subjectSpace local title = env.title local docTitle = env.docTitle if not title or not docTitle then return nil end if docTitle.isRedirect then docTitle = docTitle.redirectTarget end local data = {} data.title = title data.docTitle = docTitle -- View, display, edit, and purge links if /doc exists. data.viewLinkDisplay = message('view-link-display') data.editLinkDisplay = message('edit-link-display') data.historyLinkDisplay = message('history-link-display') data.purgeLinkDisplay = message('purge-link-display') -- Create link if /doc doesn't exist. local preload = args.preload if not preload then if subjectSpace == 828 then -- Module namespace preload = message('module-preload') else preload = message('docpage-preload') end end data.preload = preload data.createLinkDisplay = message('create-link-display') return data end function p.renderStartBoxLinks(data) --[[ -- Generates the [view][edit][history][purge] or [create][purge] links from the data table. -- @data - a table of data generated by p.makeStartBoxLinksData --]] local function escapeBrackets(s) -- Escapes square brackets with HTML entities. s = s:gsub('%[', '&#91;') -- Replace square brackets with HTML entities. s = s:gsub('%]', '&#93;') return s end local ret local docTitle = data.docTitle local title = data.title local purgeLink = makeUrlLink(title:fullUrl{action = 'purge'}, data.purgeLinkDisplay) if docTitle.exists then local viewLink = makeWikilink(docTitle.prefixedText, data.viewLinkDisplay) local editLink = makeUrlLink(docTitle:fullUrl{action = 'edit'}, data.editLinkDisplay) local historyLink = makeUrlLink(docTitle:fullUrl{action = 'history'}, data.historyLinkDisplay) ret = '[%s] [%s] [%s] [%s]' ret = escapeBrackets(ret) ret = mw.ustring.format(ret, viewLink, editLink, historyLink, purgeLink) else local createLink = makeUrlLink(docTitle:fullUrl{action = 'edit', preload = data.preload}, data.createLinkDisplay) ret = '[%s] [%s]' ret = escapeBrackets(ret) ret = mw.ustring.format(ret, createLink, purgeLink) end return ret end function p.makeStartBoxData(args, env, links) --[=[ -- Does initial processing of data to pass to the start-box render function, p.renderStartBox. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- @links - a string containing the [view][edit][history][purge] links - could be nil if there's an error. -- -- Messages: -- 'documentation-icon-wikitext' --> '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]' -- 'template-namespace-heading' --> 'Template documentation' -- 'module-namespace-heading' --> 'Module documentation' -- 'file-namespace-heading' --> 'Summary' -- 'other-namespaces-heading' --> 'Documentation' -- 'testcases-create-link-display' --> 'create' --]=] local subjectSpace = env.subjectSpace if not subjectSpace then -- Default to an "other namespaces" namespace, so that we get at least some output -- if an error occurs. subjectSpace = 2 end local data = {} -- Heading local heading = args.heading -- Blank values are not removed. if heading == '' then -- Don't display the start box if the heading arg is defined but blank. return nil end if heading then data.heading = heading elseif subjectSpace == 10 then -- Template namespace data.heading = message('documentation-icon-wikitext') .. ' ' .. message('template-namespace-heading') elseif subjectSpace == 828 then -- Module namespace data.heading = message('documentation-icon-wikitext') .. ' ' .. message('module-namespace-heading') elseif subjectSpace == 6 then -- File namespace data.heading = message('file-namespace-heading') else data.heading = message('other-namespaces-heading') end -- Heading CSS local headingStyle = args['heading-style'] if headingStyle then data.headingStyleText = headingStyle else -- 'documentation-heading' data.headingClass = message('main-div-heading-class') end -- Data for the [view][edit][history][purge] or [create] links. if links then -- 'mw-editsection-like plainlinks' data.linksClass = message('start-box-link-classes') data.links = links end return data end function p.renderStartBox(data) -- Renders the start box html. -- @data - a table of data generated by p.makeStartBoxData. local sbox = mw.html.create('div') sbox -- 'documentation-startbox' :addClass(message('start-box-class')) :newline() :tag('span') :addClass(data.headingClass) :attr('id', 'documentation-heading') :cssText(data.headingStyleText) :wikitext(data.heading) local links = data.links if links then sbox:tag('span') :addClass(data.linksClass) :attr('id', data.linksId) :wikitext(links) end return tostring(sbox) end ---------------------------------------------------------------------------- -- Documentation content ---------------------------------------------------------------------------- p.content = makeInvokeFunc('_content') function p._content(args, env) -- Displays the documentation contents -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment env = env or p.getEnvironment(args) local docTitle = env.docTitle local content = args.content if not content and docTitle and docTitle.exists then content = args._content or mw.getCurrentFrame():expandTemplate{title = docTitle.prefixedText} end -- The line breaks below are necessary so that "=== Headings ===" at the start and end -- of docs are interpreted correctly. return '\n' .. (content or '') .. '\n' end p.contentTitle = makeInvokeFunc('_contentTitle') function p._contentTitle(args, env) env = env or p.getEnvironment(args) local docTitle = env.docTitle if not args.content and docTitle and docTitle.exists then return docTitle.prefixedText else return '' end end ---------------------------------------------------------------------------- -- End box ---------------------------------------------------------------------------- p.endBox = makeInvokeFunc('_endBox') function p._endBox(args, env) --[=[ -- This function generates the end box (also known as the link box). -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- --]=] -- Get environment data. env = env or p.getEnvironment(args) local subjectSpace = env.subjectSpace local docTitle = env.docTitle if not subjectSpace or not docTitle then return nil end -- Check whether we should output the end box at all. Add the end -- box by default if the documentation exists or if we are in the -- user, module or template namespaces. local linkBox = args['link box'] if linkBox == 'off' or not ( docTitle.exists or subjectSpace == 2 or subjectSpace == 828 or subjectSpace == 10 ) then return nil end -- Assemble the link box. local text = '' if linkBox then text = text .. linkBox else text = text .. (p.makeDocPageBlurb(args, env) or '') -- "This documentation is transcluded from [[Foo]]." if subjectSpace == 2 or subjectSpace == 10 or subjectSpace == 828 then -- We are in the user, template or module namespaces. -- Add sandbox and testcases links. -- "Editors can experiment in this template's sandbox and testcases pages." text = text .. (p.makeExperimentBlurb(args, env) or '') .. '<br />' if not args.content and not args[1] then -- "Please add categories to the /doc subpage." -- Don't show this message with inline docs or with an explicitly specified doc page, -- as then it is unclear where to add the categories. text = text .. (p.makeCategoriesBlurb(args, env) or '') end text = text .. ' ' .. (p.makeSubpagesBlurb(args, env) or '') --"Subpages of this template" end end local box = mw.html.create('div') -- 'documentation-metadata' box:attr('role', 'note') :addClass(message('end-box-class')) -- 'plainlinks' :addClass(message('end-box-plainlinks')) :wikitext(text) :done() return '\n' .. tostring(box) end function p.makeDocPageBlurb(args, env) --[=[ -- Makes the blurb "This documentation is transcluded from [[Template:Foo]] (edit, history)". -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'edit-link-display' --> 'edit' -- 'history-link-display' --> 'history' -- 'transcluded-from-blurb' --> -- 'The above [[Wikipedia:Template documentation|documentation]] -- is [[Help:Transclusion|transcluded]] from $1.' -- 'module-preload' --> 'Template:Documentation/preload-module-doc' -- 'create-link-display' --> 'create' -- 'create-module-doc-blurb' --> -- 'You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].' --]=] local docTitle = env.docTitle if not docTitle then return nil end local ret if docTitle.exists then -- /doc exists; link to it. local docLink = makeWikilink(docTitle.prefixedText) local editUrl = docTitle:fullUrl{action = 'edit'} local editDisplay = message('edit-link-display') local editLink = makeUrlLink(editUrl, editDisplay) local historyUrl = docTitle:fullUrl{action = 'history'} local historyDisplay = message('history-link-display') local historyLink = makeUrlLink(historyUrl, historyDisplay) ret = message('transcluded-from-blurb', {docLink}) .. ' ' .. makeToolbar(editLink, historyLink) .. '<br />' elseif env.subjectSpace == 828 then -- /doc does not exist; ask to create it. local createUrl = docTitle:fullUrl{action = 'edit', preload = message('module-preload')} local createDisplay = message('create-link-display') local createLink = makeUrlLink(createUrl, createDisplay) ret = message('create-module-doc-blurb', {createLink}) .. '<br />' end return ret end function p.makeExperimentBlurb(args, env) --[[ -- Renders the text "Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages." -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'sandbox-link-display' --> 'sandbox' -- 'sandbox-edit-link-display' --> 'edit' -- 'compare-link-display' --> 'diff' -- 'module-sandbox-preload' --> 'Template:Documentation/preload-module-sandbox' -- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox' -- 'sandbox-create-link-display' --> 'create' -- 'mirror-edit-summary' --> 'Create sandbox version of $1' -- 'mirror-link-display' --> 'mirror' -- 'mirror-link-preload' --> 'Template:Documentation/mirror' -- 'sandbox-link-display' --> 'sandbox' -- 'testcases-link-display' --> 'testcases' -- 'testcases-edit-link-display'--> 'edit' -- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox' -- 'testcases-create-link-display' --> 'create' -- 'testcases-link-display' --> 'testcases' -- 'testcases-edit-link-display' --> 'edit' -- 'module-testcases-preload' --> 'Template:Documentation/preload-module-testcases' -- 'template-testcases-preload' --> 'Template:Documentation/preload-testcases' -- 'experiment-blurb-module' --> 'Editors can experiment in this module's $1 and $2 pages.' -- 'experiment-blurb-template' --> 'Editors can experiment in this template's $1 and $2 pages.' --]] local subjectSpace = env.subjectSpace local templateTitle = env.templateTitle local sandboxTitle = env.sandboxTitle local testcasesTitle = env.testcasesTitle local templatePage = templateTitle.prefixedText if not subjectSpace or not templateTitle or not sandboxTitle or not testcasesTitle then return nil end -- Make links. local sandboxLinks, testcasesLinks if sandboxTitle.exists then local sandboxPage = sandboxTitle.prefixedText local sandboxDisplay = message('sandbox-link-display') local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay) local sandboxEditUrl = sandboxTitle:fullUrl{action = 'edit'} local sandboxEditDisplay = message('sandbox-edit-link-display') local sandboxEditLink = makeUrlLink(sandboxEditUrl, sandboxEditDisplay) local compareUrl = env.compareUrl local compareLink if compareUrl then local compareDisplay = message('compare-link-display') compareLink = makeUrlLink(compareUrl, compareDisplay) end sandboxLinks = sandboxLink .. ' ' .. makeToolbar(sandboxEditLink, compareLink) else local sandboxPreload if subjectSpace == 828 then sandboxPreload = message('module-sandbox-preload') else sandboxPreload = message('template-sandbox-preload') end local sandboxCreateUrl = sandboxTitle:fullUrl{action = 'edit', preload = sandboxPreload} local sandboxCreateDisplay = message('sandbox-create-link-display') local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay) local mirrorSummary = message('mirror-edit-summary', {makeWikilink(templatePage)}) local mirrorPreload = message('mirror-link-preload') local mirrorUrl = sandboxTitle:fullUrl{action = 'edit', preload = mirrorPreload, summary = mirrorSummary} if subjectSpace == 828 then mirrorUrl = sandboxTitle:fullUrl{action = 'edit', preload = templateTitle.prefixedText, summary = mirrorSummary} end local mirrorDisplay = message('mirror-link-display') local mirrorLink = makeUrlLink(mirrorUrl, mirrorDisplay) sandboxLinks = message('sandbox-link-display') .. ' ' .. makeToolbar(sandboxCreateLink, mirrorLink) end if testcasesTitle.exists then local testcasesPage = testcasesTitle.prefixedText local testcasesDisplay = message('testcases-link-display') local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay) local testcasesEditUrl = testcasesTitle:fullUrl{action = 'edit'} local testcasesEditDisplay = message('testcases-edit-link-display') local testcasesEditLink = makeUrlLink(testcasesEditUrl, testcasesEditDisplay) -- for Modules, add testcases run link if exists if testcasesTitle.contentModel == "Scribunto" and testcasesTitle.talkPageTitle and testcasesTitle.talkPageTitle.exists then local testcasesRunLinkDisplay = message('testcases-run-link-display') local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay) testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink, testcasesRunLink) else testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink) end else local testcasesPreload if subjectSpace == 828 then testcasesPreload = message('module-testcases-preload') else testcasesPreload = message('template-testcases-preload') end local testcasesCreateUrl = testcasesTitle:fullUrl{action = 'edit', preload = testcasesPreload} local testcasesCreateDisplay = message('testcases-create-link-display') local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay) testcasesLinks = message('testcases-link-display') .. ' ' .. makeToolbar(testcasesCreateLink) end local messageName if subjectSpace == 828 then messageName = 'experiment-blurb-module' else messageName = 'experiment-blurb-template' end return message(messageName, {sandboxLinks, testcasesLinks}) end function p.makeCategoriesBlurb(args, env) --[[ -- Generates the text "Please add categories to the /doc subpage." -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'doc-link-display' --> '/doc' -- 'add-categories-blurb' --> 'Please add categories to the $1 subpage.' --]] local docTitle = env.docTitle if not docTitle then return nil end local docPathLink = makeWikilink(docTitle.prefixedText, message('doc-link-display')) return message('add-categories-blurb', {docPathLink}) end function p.makeSubpagesBlurb(args, env) --[[ -- Generates the "Subpages of this template" link. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'template-pagetype' --> 'template' -- 'module-pagetype' --> 'module' -- 'default-pagetype' --> 'page' -- 'subpages-link-display' --> 'Subpages of this $1' --]] local subjectSpace = env.subjectSpace local templateTitle = env.templateTitle if not subjectSpace or not templateTitle then return nil end local pagetype if subjectSpace == 10 then pagetype = message('template-pagetype') elseif subjectSpace == 828 then pagetype = message('module-pagetype') else pagetype = message('default-pagetype') end local subpagesLink = makeWikilink( 'Special:PrefixIndex/' .. templateTitle.prefixedText .. '/', message('subpages-link-display', {pagetype}) ) return message('subpages-blurb', {subpagesLink}) end ---------------------------------------------------------------------------- -- Tracking categories ---------------------------------------------------------------------------- function p.addTrackingCategories(env) --[[ -- Check if {{documentation}} is transcluded on a /doc or /testcases page. -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'display-strange-usage-category' --> true -- 'doc-subpage' --> 'doc' -- 'testcases-subpage' --> 'testcases' -- 'strange-usage-category' --> 'Wikipedia pages with strange ((documentation)) usage' -- -- /testcases pages in the module namespace are not categorised, as they may have -- {{documentation}} transcluded automatically. --]] local title = env.title local subjectSpace = env.subjectSpace if not title or not subjectSpace then return nil end local subpage = title.subpageText local ret = '' if message('display-strange-usage-category', nil, 'boolean') and ( subpage == message('doc-subpage') or subjectSpace ~= 828 and subpage == message('testcases-subpage') ) then ret = ret .. makeCategoryLink(message('strange-usage-category')) end return ret end return p 78cc3a78f2b5dbb267fa16027c0800a22dbd3c42 Template:Template link expanded 10 66 175 2022-09-30T18:48:13Z dev>Pppery 0 wikitext text/x-wiki <code><nowiki>{{</nowiki>{{#if:{{{subst|}}} |[[Help:Substitution|subst]]:}}<!-- -->[[{{{sister|{{{SISTER|}}}}}}{{ns:Template}}:{{{1|}}}|{{{1|}}}]]<!-- -->{{#if:{{{2|}}} |&#124;{{{2}}}}}<!-- -->{{#if:{{{3|}}} |&#124;{{{3}}}}}<!-- -->{{#if:{{{4|}}} |&#124;{{{4}}}}}<!-- -->{{#if:{{{5|}}} |&#124;{{{5}}}}}<!-- -->{{#if:{{{6|}}} |&#124;{{{6}}}}}<!-- -->{{#if:{{{7|}}} |&#124;{{{7}}}}}<!-- -->{{#if:{{{8|}}} |&#124;{{{8}}}}}<!-- -->{{#if:{{{9|}}} |&#124;{{{9}}}}}<!-- -->{{#if:{{{10|}}} |&#124;{{{10}}}}}<!-- -->{{#if:{{{11|}}} |&#124;{{{11}}}}}<!-- -->{{#if:{{{12|}}} |&#124;{{{12}}}}}<!-- -->{{#if:{{{13|}}} |&#124;{{{13}}}}}<!-- -->{{#if:{{{14|}}} |&#124;{{{14}}}}}<!-- -->{{#if:{{{15|}}} |&#124;{{{15}}}}}<!-- -->{{#if:{{{16|}}} |&#124;{{{16}}}}}<!-- -->{{#if:{{{17|}}} |&#124;{{{17}}}}}<!-- -->{{#if:{{{18|}}} |&#124;{{{18}}}}}<!-- -->{{#if:{{{19|}}} |&#124;{{{19}}}}}<!-- -->{{#if:{{{20|}}} |&#124;{{{20}}}}}<!-- -->{{#if:{{{21|}}} |&#124;''...''}}<!-- --><nowiki>}}</nowiki></code><noinclude> {{Documentation}} </noinclude> 9f670205d4b358df089b1a820f78f02a88afca3a Module:Yesno 828 76 195 2022-10-01T17:25:37Z dev>Pppery 0 Pppery moved page [[Module:Yesno/2]] to [[Module:Yesno]] without leaving a redirect Scribunto text/plain -- Function allowing for consistent treatment of boolean-like wikitext input. -- It works similarly to the template {{yesno}}. return function (val, default) -- If your wiki uses non-ascii characters for any of "yes", "no", etc., you -- should replace "val:lower()" with "mw.ustring.lower(val)" in the -- following line. val = type(val) == 'string' and val:lower() or val if val == nil then return nil elseif val == true or val == 'yes' or val == 'y' or val == 'true' or val == 't' or val == 'on' or tonumber(val) == 1 then return true elseif val == false or val == 'no' or val == 'n' or val == 'false' or val == 'f' or val == 'off' or tonumber(val) == 0 then return false else return default end end f767643e7d12126d020d88d662a3dd057817b9dc Module:No globals 828 75 193 2022-10-01T17:28:48Z dev>Pppery 0 Pppery moved page [[Module:No globals/2]] to [[Module:No globals]] without leaving a redirect Scribunto text/plain local mt = getmetatable(_G) or {} function mt.__index (t, k) if k ~= 'arg' then error('Tried to read nil global ' .. tostring(k), 2) end return nil end function mt.__newindex(t, k, v) if k ~= 'arg' then error('Tried to write global ' .. tostring(k), 2) end rawset(t, k, v) end setmetatable(_G, mt) 8ce3969f7d53b08bd00dabe4cc9780bc6afd412a Module:Documentation/config 828 71 185 2022-10-01T17:37:53Z dev>Pppery 0 Pppery moved page [[Module:Documentation/config/2]] to [[Module:Documentation/config]] without leaving a redirect Scribunto text/plain ---------------------------------------------------------------------------------------------------- -- -- Configuration for Module:Documentation -- -- Here you can set the values of the parameters and messages used in Module:Documentation to -- localise it to your wiki and your language. Unless specified otherwise, values given here -- should be string values. ---------------------------------------------------------------------------------------------------- local cfg = {} -- Do not edit this line. ---------------------------------------------------------------------------------------------------- -- Start box configuration ---------------------------------------------------------------------------------------------------- -- cfg['documentation-icon-wikitext'] -- The wikitext for the icon shown at the top of the template. cfg['documentation-icon-wikitext'] = '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]' -- cfg['template-namespace-heading'] -- The heading shown in the template namespace. cfg['template-namespace-heading'] = 'Template documentation' -- cfg['module-namespace-heading'] -- The heading shown in the module namespace. cfg['module-namespace-heading'] = 'Module documentation' -- cfg['file-namespace-heading'] -- The heading shown in the file namespace. cfg['file-namespace-heading'] = 'Summary' -- cfg['other-namespaces-heading'] -- The heading shown in other namespaces. cfg['other-namespaces-heading'] = 'Documentation' -- cfg['view-link-display'] -- The text to display for "view" links. cfg['view-link-display'] = 'view' -- cfg['edit-link-display'] -- The text to display for "edit" links. cfg['edit-link-display'] = 'edit' -- cfg['history-link-display'] -- The text to display for "history" links. cfg['history-link-display'] = 'history' -- cfg['purge-link-display'] -- The text to display for "purge" links. cfg['purge-link-display'] = 'purge' -- cfg['create-link-display'] -- The text to display for "create" links. cfg['create-link-display'] = 'create' ---------------------------------------------------------------------------------------------------- -- Link box (end box) configuration ---------------------------------------------------------------------------------------------------- -- cfg['transcluded-from-blurb'] -- Notice displayed when the docs are transcluded from another page. $1 is a wikilink to that page. cfg['transcluded-from-blurb'] = 'The above [[w:Wikipedia:Template documentation|documentation]] is [[mw:Help:Transclusion|transcluded]] from $1.' --[[ -- cfg['create-module-doc-blurb'] -- Notice displayed in the module namespace when the documentation subpage does not exist. -- $1 is a link to create the documentation page with the preload cfg['module-preload'] and the -- display cfg['create-link-display']. --]] cfg['create-module-doc-blurb'] = 'You might want to $1 a documentation page for this [[mw:Extension:Scribunto/Lua reference manual|Scribunto module]].' ---------------------------------------------------------------------------------------------------- -- Experiment blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['experiment-blurb-template'] -- cfg['experiment-blurb-module'] -- The experiment blurb is the text inviting editors to experiment in sandbox and test cases pages. -- It is only shown in the template and module namespaces. With the default English settings, it -- might look like this: -- -- Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages. -- -- In this example, "sandbox", "edit", "diff", "testcases", and "edit" would all be links. -- -- There are two versions, cfg['experiment-blurb-template'] and cfg['experiment-blurb-module'], depending -- on what namespace we are in. -- -- Parameters: -- -- $1 is a link to the sandbox page. If the sandbox exists, it is in the following format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-edit-link-display'] | cfg['compare-link-display']) -- -- If the sandbox doesn't exist, it is in the format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-create-link-display'] | cfg['mirror-link-display']) -- -- The link for cfg['sandbox-create-link-display'] link preloads the page with cfg['template-sandbox-preload'] -- or cfg['module-sandbox-preload'], depending on the current namespace. The link for cfg['mirror-link-display'] -- loads a default edit summary of cfg['mirror-edit-summary']. -- -- $2 is a link to the test cases page. If the test cases page exists, it is in the following format: -- -- cfg['testcases-link-display'] (cfg['testcases-edit-link-display'] | cfg['testcases-run-link-display']) -- -- If the test cases page doesn't exist, it is in the format: -- -- cfg['testcases-link-display'] (cfg['testcases-create-link-display']) -- -- If the test cases page doesn't exist, the link for cfg['testcases-create-link-display'] preloads the -- page with cfg['template-testcases-preload'] or cfg['module-testcases-preload'], depending on the current -- namespace. --]] cfg['experiment-blurb-template'] = "Editors can experiment in this template's $1 and $2 pages." cfg['experiment-blurb-module'] = "Editors can experiment in this module's $1 and $2 pages." ---------------------------------------------------------------------------------------------------- -- Sandbox link configuration ---------------------------------------------------------------------------------------------------- -- cfg['sandbox-subpage'] -- The name of the template subpage typically used for sandboxes. cfg['sandbox-subpage'] = 'sandbox' -- cfg['template-sandbox-preload'] -- Preload file for template sandbox pages. cfg['template-sandbox-preload'] = 'Template:Documentation/preload-sandbox' -- cfg['module-sandbox-preload'] -- Preload file for Lua module sandbox pages. cfg['module-sandbox-preload'] = 'Template:Documentation/preload-module-sandbox' -- cfg['sandbox-link-display'] -- The text to display for "sandbox" links. cfg['sandbox-link-display'] = 'sandbox' -- cfg['sandbox-edit-link-display'] -- The text to display for sandbox "edit" links. cfg['sandbox-edit-link-display'] = 'edit' -- cfg['sandbox-create-link-display'] -- The text to display for sandbox "create" links. cfg['sandbox-create-link-display'] = 'create' -- cfg['compare-link-display'] -- The text to display for "compare" links. cfg['compare-link-display'] = 'diff' -- cfg['mirror-edit-summary'] -- The default edit summary to use when a user clicks the "mirror" link. $1 is a wikilink to the -- template page. cfg['mirror-edit-summary'] = 'Create sandbox version of $1' -- cfg['mirror-link-display'] -- The text to display for "mirror" links. cfg['mirror-link-display'] = 'mirror' -- cfg['mirror-link-preload'] -- The page to preload when a user clicks the "mirror" link. cfg['mirror-link-preload'] = 'Template:Documentation/mirror' ---------------------------------------------------------------------------------------------------- -- Test cases link configuration ---------------------------------------------------------------------------------------------------- -- cfg['testcases-subpage'] -- The name of the template subpage typically used for test cases. cfg['testcases-subpage'] = 'testcases' -- cfg['template-testcases-preload'] -- Preload file for template test cases pages. cfg['template-testcases-preload'] = 'Template:Documentation/preload-testcases' -- cfg['module-testcases-preload'] -- Preload file for Lua module test cases pages. cfg['module-testcases-preload'] = 'Template:Documentation/preload-module-testcases' -- cfg['testcases-link-display'] -- The text to display for "testcases" links. cfg['testcases-link-display'] = 'testcases' -- cfg['testcases-edit-link-display'] -- The text to display for test cases "edit" links. cfg['testcases-edit-link-display'] = 'edit' -- cfg['testcases-run-link-display'] -- The text to display for test cases "run" links. cfg['testcases-run-link-display'] = 'run' -- cfg['testcases-create-link-display'] -- The text to display for test cases "create" links. cfg['testcases-create-link-display'] = 'create' ---------------------------------------------------------------------------------------------------- -- Add categories blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['add-categories-blurb'] -- Text to direct users to add categories to the /doc subpage. Not used if the "content" or -- "docname fed" arguments are set, as then it is not clear where to add the categories. $1 is a -- link to the /doc subpage with a display value of cfg['doc-link-display']. --]] cfg['add-categories-blurb'] = 'Add categories to the $1 subpage.' -- cfg['doc-link-display'] -- The text to display when linking to the /doc subpage. cfg['doc-link-display'] = '/doc' ---------------------------------------------------------------------------------------------------- -- Subpages link configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['subpages-blurb'] -- The "Subpages of this template" blurb. $1 is a link to the main template's subpages with a -- display value of cfg['subpages-link-display']. In the English version this blurb is simply -- the link followed by a period, and the link display provides the actual text. --]] cfg['subpages-blurb'] = '$1.' --[[ -- cfg['subpages-link-display'] -- The text to display for the "subpages of this page" link. $1 is cfg['template-pagetype'], -- cfg['module-pagetype'] or cfg['default-pagetype'], depending on whether the current page is in -- the template namespace, the module namespace, or another namespace. --]] cfg['subpages-link-display'] = 'Subpages of this $1' -- cfg['template-pagetype'] -- The pagetype to display for template pages. cfg['template-pagetype'] = 'template' -- cfg['module-pagetype'] -- The pagetype to display for Lua module pages. cfg['module-pagetype'] = 'module' -- cfg['default-pagetype'] -- The pagetype to display for pages other than templates or Lua modules. cfg['default-pagetype'] = 'page' ---------------------------------------------------------------------------------------------------- -- Doc link configuration ---------------------------------------------------------------------------------------------------- -- cfg['doc-subpage'] -- The name of the subpage typically used for documentation pages. cfg['doc-subpage'] = 'doc' -- cfg['docpage-preload'] -- Preload file for template documentation pages in all namespaces. cfg['docpage-preload'] = 'Template:Documentation/preload' -- cfg['module-preload'] -- Preload file for Lua module documentation pages. cfg['module-preload'] = 'Template:Documentation/preload-module-doc' ---------------------------------------------------------------------------------------------------- -- HTML and CSS configuration ---------------------------------------------------------------------------------------------------- -- cfg['templatestyles'] -- The name of the TemplateStyles page where CSS is kept. -- Sandbox CSS will be at Module:Documentation/sandbox/styles.css when needed. cfg['templatestyles'] = 'Module:Documentation/styles.css' -- cfg['container'] -- Class which can be used to set flex or grid CSS on the -- two child divs documentation and documentation-metadata cfg['container'] = 'documentation-container' -- cfg['main-div-classes'] -- Classes added to the main HTML "div" tag. cfg['main-div-classes'] = 'documentation' -- cfg['main-div-heading-class'] -- Class for the main heading for templates and modules and assoc. talk spaces cfg['main-div-heading-class'] = 'documentation-heading' -- cfg['start-box-class'] -- Class for the start box cfg['start-box-class'] = 'documentation-startbox' -- cfg['start-box-link-classes'] -- Classes used for the [view][edit][history] or [create] links in the start box. -- mw-editsection-like is per [[Wikipedia:Village pump (technical)/Archive 117]] cfg['start-box-link-classes'] = 'mw-editsection-like plainlinks' -- cfg['end-box-class'] -- Class for the end box. cfg['end-box-class'] = 'documentation-metadata' -- cfg['end-box-plainlinks'] -- Plainlinks cfg['end-box-plainlinks'] = 'plainlinks' -- cfg['toolbar-class'] -- Class added for toolbar links. cfg['toolbar-class'] = 'documentation-toolbar' -- cfg['clear'] -- Just used to clear things. cfg['clear'] = 'documentation-clear' ---------------------------------------------------------------------------------------------------- -- Tracking category configuration ---------------------------------------------------------------------------------------------------- -- cfg['display-strange-usage-category'] -- Set to true to enable output of cfg['strange-usage-category'] if the module is used on a /doc subpage -- or a /testcases subpage. This should be a boolean value (either true or false). cfg['display-strange-usage-category'] = true -- cfg['strange-usage-category'] -- Category to output if cfg['display-strange-usage-category'] is set to true and the module is used on a -- /doc subpage or a /testcases subpage. cfg['strange-usage-category'] = 'Wikipedia pages with strange ((documentation)) usage' --[[ ---------------------------------------------------------------------------------------------------- -- End configuration -- -- Don't edit anything below this line. ---------------------------------------------------------------------------------------------------- --]] return cfg d70e8b1402a2bbe08a1fef4b75d743e661af0c95 Template:Documentation subpage 10 62 167 2022-10-01T17:51:17Z dev>Pppery 0 wikitext text/x-wiki <includeonly><!-- -->{{#ifeq:{{lc:{{SUBPAGENAME}}}} |{{{override|doc}}} | <!--(this template has been transcluded on a /doc or /{{{override}}} page)--> </includeonly><!-- -->{{#ifeq:{{{doc-notice|show}}} |show | {{Mbox | type = notice | style = margin-bottom:1.0em; | image = [[File:Edit-copy green.svg|40px|alt=|link=]] | text = '''This is a documentation subpage''' for '''{{{1|[[:{{SUBJECTSPACE}}:{{BASEPAGENAME}}]]}}}'''.<br/> It contains usage information, [[mw:Help:Categories|categories]] and other content that is not part of the original {{#if:{{{text2|}}} |{{{text2}}} |{{#if:{{{text1|}}} |{{{text1}}} | page}}}}. }} }}<!-- -->{{DEFAULTSORT:{{{defaultsort|{{PAGENAME}}}}}}}<!-- -->{{#if:{{{inhibit|}}} |<!--(don't categorize)--> | <includeonly><!-- -->{{#ifexist:{{NAMESPACE}}:{{BASEPAGENAME}} | [[Category:{{#switch:{{SUBJECTSPACE}} |Template=Template |Module=Module |User=User |#default=Wikipedia}} documentation pages]] | [[Category:Documentation subpages without corresponding pages]] }}<!-- --></includeonly> }}<!-- (completing initial #ifeq: at start of template:) --><includeonly> | <!--(this template has not been transcluded on a /doc or /{{{override}}} page)--> }}<!-- --></includeonly><noinclude>{{Documentation}}</noinclude> 471e685c1c643a5c6272e20e49824fffebad0448 Template:Hatnote 10 80 205 2022-10-05T21:18:12Z dev>Pppery 0 Category wikitext text/x-wiki <div style="margin-left:2em; margin-right: 2em;>''{{{1}}}''</div> <!-- The wikipedia templates uses :, which generated dd and dt tags. That is not ideal for accessibility. --><noinclude> This is a general purpose template for all kind of [https://en.wikipedia.org/wiki/Wikipedia:Hatnote hatnotes]. '''Hatnotes''' are a small annotation above a page or a section that can help the reader navigate. It's used for example to clarify what a section is about and link to other pages the reader may want to read. == Example usage == <pre><nowiki> === Heading === {{hatnote|This section is about headings in text, for the human body part see [[Head|Head]]. <br> For the the first level heading see the main article [[Headline]].</br> H1 redirects here, for the car see [[Hyundai#H1|Hyundai H1]].}} The first sentence of the section is here. </nowiki></pre> === Heading === {{hatnote|This section is about headings in text, for the human body part see [[Head|Head]]. <br> For the the first level heading see the main article [[Headline]].</br> H1 redirects here, for the car see [[Hyundai#H1|Hyundai H1]].}} The first sentence of the section is here. <templatedata> { "params": { "1": { "label": "content", "description": "the content of the note", "example": "For the xxx see [[yyy]]." } }, "description": "Adds a annotation for the reader about the content that follows. Usually used after a heading." } </templatedata> [[Category:Templates]] </noinclude> 5e58f83d6fa53ed06f85139184aff1d651804efe Template:MessageBox 10 59 161 2022-10-05T21:20:15Z dev>Pppery 0 Categorize wikitext text/x-wiki <div style="width: {{#if:{{{width|}}}|{{{width}}}|80%}}; background-color: {{#if:{{{Background color}}}|{{{Background color}}}|#f5f5f5}}; border-top: 1px solid {{#if:{{{Border color}}}|{{{Border color}}}|#aaaaaa}}; border-bottom: 1px solid {{#if:{{{Border color}}}|{{{Border color}}}|#aaaaaa}}; border-right: 1px solid {{#if:{{{Border color}}}|{{{Border color}}}|#aaaaaa}}; border-left: 12px solid {{#if:{{{Flag color}}}|{{{Flag color}}}|#aaaaaa}}; margin: 0.5em auto 0.5em;"> {| {{#if:{{{Image}}}|{{!}}style="width:93px; text-align:center; vertical-align:middle; padding-top:1px;padding-bottom:7px" {{!}} {{{Image}}} }} |style="vertical-align:middle;padding-left:3px;padding-top:10px;padding-bottom:10px;padding-right:10px; background-color: {{#if:{{{Background color}}}{{!}}{{{Background color}}}{{!}}#f5f5f5}};" | {{{Message text}}} |} </div><noinclude>[[Category:Notice templates]]</noinclude> c6727bf6179a36a5413ed93f232fd0e2f7180256 Template:Template list 10 78 199 2022-10-05T21:23:50Z dev>Pppery 0 wikitext text/x-wiki == Resolution templates == : ''Category: [[:Category:Resolution templates|Resolution templates]]'' <section begin=resolution-templates/> * {{tl|done}} - {{done}} * {{tl|not done}} - {{not done}} * {{tl|doing}} - {{doing}} * {{tl|comment}} - {{comment}} <section end=resolution-templates/> == Voting templates == : ''Category: [[:Category:Voting templates|Voting templates]]'' <section begin=voting-templates/> * {{tl|support}} - {{support}} * {{tl|oppose}} - {{oppose}} * {{tl|abstain}} - {{abstain}} * {{tl|neutral}} - {{neutral}} <section end=voting-templates/> === Social media userboxes === : ''Category: [[:Category:Social media userboxes|Social media userboxes]]'' <section begin=social-media-userboxes/> {| class="wikitable" |- <noinclude>! Template !! Result |-</noinclude> | {{tl|User discord}} || {{User discord|nocat=yes}} |- | {{tl|User github}} || {{User github|nocat=yes}} |- | {{tl|User instagram}} || {{User instagram|nocat=yes}} |- | {{tl|User IRC}} || {{User IRC|nocat=yes}} |- | {{tl|User twitter}} || {{User twitter|nocat=yes}} |- | {{tl|User wikimedia}} || {{User wikimedia|nocat=yes}} |- | {{tl|User youtube}} || {{User youtube|nocat=yes}} |} <section end=social-media-userboxes/> [[Category:Templates| ]] 01b67cea315305492f35a33e0a2943a6f7b44773 Module:Message box 828 73 189 2022-10-21T19:39:49Z dev>Pppery 0 These can just go, the first for being very Wikipedia-specific, and the second for being almost impossible to import properly Scribunto text/plain -- This is a meta-module for producing message box templates, including -- {{mbox}}, {{ambox}}, {{imbox}}, {{tmbox}}, {{ombox}}, {{cmbox}} and {{fmbox}}. -- Load necessary modules. require('Module:No globals') local getArgs local yesno = require('Module:Yesno') local templatestyles = 'Module:Message box/styles.css' -- Get a language object for formatDate and ucfirst. local lang = mw.language.getContentLanguage() -- Define constants local CONFIG_MODULE = 'Module:Message box/configuration' local DEMOSPACES = {user = 'tmbox', talk = 'tmbox', image = 'imbox', file = 'imbox', category = 'cmbox', article = 'ambox', main = 'ambox'} -------------------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------------------- local function getTitleObject(...) -- Get the title object, passing the function through pcall -- in case we are over the expensive function count limit. local success, title = pcall(mw.title.new, ...) if success then return title end end local function union(t1, t2) -- Returns the union of two arrays. local vals = {} for i, v in ipairs(t1) do vals[v] = true end for i, v in ipairs(t2) do vals[v] = true end local ret = {} for k in pairs(vals) do table.insert(ret, k) end table.sort(ret) return ret end local function getArgNums(args, prefix) local nums = {} for k, v in pairs(args) do local num = mw.ustring.match(tostring(k), '^' .. prefix .. '([1-9]%d*)$') if num then table.insert(nums, tonumber(num)) end end table.sort(nums) return nums end -------------------------------------------------------------------------------- -- Box class definition -------------------------------------------------------------------------------- local MessageBox = {} MessageBox.__index = MessageBox function MessageBox.new(boxType, args, cfg) args = args or {} local obj = {} -- Set the title object and the namespace. obj.title = getTitleObject(args.page) or mw.title.getCurrentTitle() -- Set the config for our box type. obj.cfg = cfg[boxType] if not obj.cfg then local ns = obj.title.namespace -- boxType is "mbox" or invalid input if args.demospace and args.demospace ~= '' then -- implement demospace parameter of mbox local demospace = string.lower(args.demospace) if DEMOSPACES[demospace] then -- use template from DEMOSPACES obj.cfg = cfg[DEMOSPACES[demospace]] elseif string.find( demospace, 'talk' ) then -- demo as a talk page obj.cfg = cfg.tmbox else -- default to ombox obj.cfg = cfg.ombox end elseif ns == 0 then obj.cfg = cfg.ambox -- main namespace elseif ns == 6 then obj.cfg = cfg.imbox -- file namespace elseif ns == 14 then obj.cfg = cfg.cmbox -- category namespace else local nsTable = mw.site.namespaces[ns] if nsTable and nsTable.isTalk then obj.cfg = cfg.tmbox -- any talk namespace else obj.cfg = cfg.ombox -- other namespaces or invalid input end end end -- Set the arguments, and remove all blank arguments except for the ones -- listed in cfg.allowBlankParams. do local newArgs = {} for k, v in pairs(args) do if v ~= '' then newArgs[k] = v end end for i, param in ipairs(obj.cfg.allowBlankParams or {}) do newArgs[param] = args[param] end obj.args = newArgs end -- Define internal data structure. obj.categories = {} obj.classes = {} -- For lazy loading of [[Module:Category handler]]. obj.hasCategories = false return setmetatable(obj, MessageBox) end function MessageBox:addCat(ns, cat, sort) if not cat then return nil end if sort then cat = string.format('[[Category:%s|%s]]', cat, sort) else cat = string.format('[[Category:%s]]', cat) end self.hasCategories = true self.categories[ns] = self.categories[ns] or {} table.insert(self.categories[ns], cat) end function MessageBox:addClass(class) if not class then return nil end table.insert(self.classes, class) end function MessageBox:setParameters() local args = self.args local cfg = self.cfg -- Get type data. self.type = args.type local typeData = cfg.types[self.type] self.invalidTypeError = cfg.showInvalidTypeError and self.type and not typeData typeData = typeData or cfg.types[cfg.default] self.typeClass = typeData.class self.typeImage = typeData.image -- Find whether we are using a small message box. self.isSmall = cfg.allowSmall and ( cfg.smallParam and args.small == cfg.smallParam or not cfg.smallParam and yesno(args.small) ) -- Add attributes, classes and styles. self.id = args.id self.name = args.name if self.name then self:addClass('box-' .. string.gsub(self.name,' ','_')) end if yesno(args.plainlinks) ~= false then self:addClass('plainlinks') end for _, class in ipairs(cfg.classes or {}) do self:addClass(class) end if self.isSmall then self:addClass(cfg.smallClass or 'mbox-small') end self:addClass(self.typeClass) self:addClass(args.class) self.style = args.style self.attrs = args.attrs -- Set text style. self.textstyle = args.textstyle -- Find if we are on the template page or not. This functionality is only -- used if useCollapsibleTextFields is set, or if both cfg.templateCategory -- and cfg.templateCategoryRequireName are set. self.useCollapsibleTextFields = cfg.useCollapsibleTextFields if self.useCollapsibleTextFields or cfg.templateCategory and cfg.templateCategoryRequireName then if self.name then local templateName = mw.ustring.match( self.name, '^[tT][eE][mM][pP][lL][aA][tT][eE][%s_]*:[%s_]*(.*)$' ) or self.name templateName = 'Template:' .. templateName self.templateTitle = getTitleObject(templateName) end self.isTemplatePage = self.templateTitle and mw.title.equals(self.title, self.templateTitle) end -- Process data for collapsible text fields. At the moment these are only -- used in {{ambox}}. if self.useCollapsibleTextFields then -- Get the self.issue value. if self.isSmall and args.smalltext then self.issue = args.smalltext else local sect if args.sect == '' then sect = 'This ' .. (cfg.sectionDefault or 'page') elseif type(args.sect) == 'string' then sect = 'This ' .. args.sect end local issue = args.issue issue = type(issue) == 'string' and issue ~= '' and issue or nil local text = args.text text = type(text) == 'string' and text or nil local issues = {} table.insert(issues, sect) table.insert(issues, issue) table.insert(issues, text) self.issue = table.concat(issues, ' ') end -- Get the self.talk value. local talk = args.talk -- Show talk links on the template page or template subpages if the talk -- parameter is blank. if talk == '' and self.templateTitle and ( mw.title.equals(self.templateTitle, self.title) or self.title:isSubpageOf(self.templateTitle) ) then talk = '#' elseif talk == '' then talk = nil end if talk then -- If the talk value is a talk page, make a link to that page. Else -- assume that it's a section heading, and make a link to the talk -- page of the current page with that section heading. local talkTitle = getTitleObject(talk) local talkArgIsTalkPage = true if not talkTitle or not talkTitle.isTalkPage then talkArgIsTalkPage = false talkTitle = getTitleObject( self.title.text, mw.site.namespaces[self.title.namespace].talk.id ) end if talkTitle and talkTitle.exists then local talkText = 'Relevant discussion may be found on' if talkArgIsTalkPage then talkText = string.format( '%s [[%s|%s]].', talkText, talk, talkTitle.prefixedText ) else talkText = string.format( '%s the [[%s#%s|talk page]].', talkText, talkTitle.prefixedText, talk ) end self.talk = talkText end end -- Get other values. self.fix = args.fix ~= '' and args.fix or nil local date if args.date and args.date ~= '' then date = args.date elseif args.date == '' and self.isTemplatePage then date = lang:formatDate('F Y') end if date then self.date = string.format(" <small class='date-container'>''(<span class='date'>%s</span>)''</small>", date) end self.info = args.info end -- Set the non-collapsible text field. At the moment this is used by all box -- types other than ambox, and also by ambox when small=yes. if self.isSmall then self.text = args.smalltext or args.text else self.text = args.text end -- Set the below row. self.below = cfg.below and args.below -- General image settings. self.imageCellDiv = not self.isSmall and cfg.imageCellDiv self.imageEmptyCell = cfg.imageEmptyCell if cfg.imageEmptyCellStyle then self.imageEmptyCellStyle = 'border:none;padding:0px;width:1px' end -- Left image settings. local imageLeft = self.isSmall and args.smallimage or args.image if cfg.imageCheckBlank and imageLeft ~= 'blank' and imageLeft ~= 'none' or not cfg.imageCheckBlank and imageLeft ~= 'none' then self.imageLeft = imageLeft if not imageLeft then local imageSize = self.isSmall and (cfg.imageSmallSize or '30x30px') or '40x40px' self.imageLeft = string.format('[[File:%s|%s|link=|alt=]]', self.typeImage or 'Imbox notice.png', imageSize) end end -- Right image settings. local imageRight = self.isSmall and args.smallimageright or args.imageright if not (cfg.imageRightNone and imageRight == 'none') then self.imageRight = imageRight end end function MessageBox:setMainspaceCategories() local args = self.args local cfg = self.cfg if not cfg.allowMainspaceCategories then return nil end local nums = {} for _, prefix in ipairs{'cat', 'category', 'all'} do args[prefix .. '1'] = args[prefix] nums = union(nums, getArgNums(args, prefix)) end -- The following is roughly equivalent to the old {{Ambox/category}}. local date = args.date date = type(date) == 'string' and date local preposition = 'from' for _, num in ipairs(nums) do local mainCat = args['cat' .. tostring(num)] or args['category' .. tostring(num)] local allCat = args['all' .. tostring(num)] mainCat = type(mainCat) == 'string' and mainCat allCat = type(allCat) == 'string' and allCat if mainCat and date and date ~= '' then local catTitle = string.format('%s %s %s', mainCat, preposition, date) self:addCat(0, catTitle) catTitle = getTitleObject('Category:' .. catTitle) if not catTitle or not catTitle.exists then self:addCat(0, 'Articles with invalid date parameter in template') end elseif mainCat and (not date or date == '') then self:addCat(0, mainCat) end if allCat then self:addCat(0, allCat) end end end function MessageBox:setTemplateCategories() local args = self.args local cfg = self.cfg -- Add template categories. if cfg.templateCategory then if cfg.templateCategoryRequireName then if self.isTemplatePage then self:addCat(10, cfg.templateCategory) end elseif not self.title.isSubpage then self:addCat(10, cfg.templateCategory) end end -- Add template error categories. if cfg.templateErrorCategory then local templateErrorCategory = cfg.templateErrorCategory local templateCat, templateSort if not self.name and not self.title.isSubpage then templateCat = templateErrorCategory elseif self.isTemplatePage then local paramsToCheck = cfg.templateErrorParamsToCheck or {} local count = 0 for i, param in ipairs(paramsToCheck) do if not args[param] then count = count + 1 end end if count > 0 then templateCat = templateErrorCategory templateSort = tostring(count) end if self.categoryNums and #self.categoryNums > 0 then templateCat = templateErrorCategory templateSort = 'C' end end self:addCat(10, templateCat, templateSort) end end function MessageBox:setAllNamespaceCategories() -- Set categories for all namespaces. if self.invalidTypeError then local allSort = (self.title.namespace == 0 and 'Main:' or '') .. self.title.prefixedText self:addCat('all', 'Wikipedia message box parameter needs fixing', allSort) end end function MessageBox:setCategories() if self.title.namespace == 0 then self:setMainspaceCategories() elseif self.title.namespace == 10 then self:setTemplateCategories() end self:setAllNamespaceCategories() end function MessageBox:renderCategories() if not self.hasCategories then -- No categories added, no need to pass them to Category handler so, -- if it was invoked, it would return the empty string. -- So we shortcut and return the empty string. return "" end -- Convert category tables to strings and pass them through -- [[Module:Category handler]]. return require('Module:Category handler')._main{ main = table.concat(self.categories[0] or {}), template = table.concat(self.categories[10] or {}), all = table.concat(self.categories.all or {}), nocat = self.args.nocat, page = self.args.page } end function MessageBox:export() local root = mw.html.create() -- Create the box table. local boxTable = root:tag('table') boxTable:attr('id', self.id or nil) for i, class in ipairs(self.classes or {}) do boxTable:addClass(class or nil) end boxTable :cssText(self.style or nil) :attr('role', 'presentation') if self.attrs then boxTable:attr(self.attrs) end -- Add the left-hand image. local row = boxTable:tag('tr') if self.imageLeft then local imageLeftCell = row:tag('td'):addClass('mbox-image') if self.imageCellDiv then -- If we are using a div, redefine imageLeftCell so that the image -- is inside it. Divs use style="width: 52px;", which limits the -- image width to 52px. If any images in a div are wider than that, -- they may overlap with the text or cause other display problems. imageLeftCell = imageLeftCell:tag('div'):css('width', '52px') end imageLeftCell:wikitext(self.imageLeft or nil) elseif self.imageEmptyCell then -- Some message boxes define an empty cell if no image is specified, and -- some don't. The old template code in templates where empty cells are -- specified gives the following hint: "No image. Cell with some width -- or padding necessary for text cell to have 100% width." row:tag('td') :addClass('mbox-empty-cell') :cssText(self.imageEmptyCellStyle or nil) end -- Add the text. local textCell = row:tag('td'):addClass('mbox-text') if self.useCollapsibleTextFields then -- The message box uses advanced text parameters that allow things to be -- collapsible. At the moment, only ambox uses this. textCell:cssText(self.textstyle or nil) local textCellDiv = textCell:tag('div') textCellDiv :addClass('mbox-text-span') :wikitext(self.issue or nil) if (self.talk or self.fix) and not self.isSmall then textCellDiv:tag('span') :addClass('hide-when-compact') :wikitext(self.talk and (' ' .. self.talk) or nil) :wikitext(self.fix and (' ' .. self.fix) or nil) end textCellDiv:wikitext(self.date and (' ' .. self.date) or nil) if self.info and not self.isSmall then textCellDiv :tag('span') :addClass('hide-when-compact') :wikitext(self.info and (' ' .. self.info) or nil) end else -- Default text formatting - anything goes. textCell :cssText(self.textstyle or nil) :wikitext(self.text or nil) end -- Add the right-hand image. if self.imageRight then local imageRightCell = row:tag('td'):addClass('mbox-imageright') if self.imageCellDiv then -- If we are using a div, redefine imageRightCell so that the image -- is inside it. imageRightCell = imageRightCell:tag('div'):css('width', '52px') end imageRightCell :wikitext(self.imageRight or nil) end -- Add the below row. if self.below then boxTable:tag('tr') :tag('td') :attr('colspan', self.imageRight and '3' or '2') :addClass('mbox-text') :cssText(self.textstyle or nil) :wikitext(self.below or nil) end -- Add error message for invalid type parameters. if self.invalidTypeError then root:tag('div') :css('text-align', 'center') :wikitext(string.format( 'This message box is using an invalid "type=%s" parameter and needs fixing.', self.type or '' )) end -- Add categories. root:wikitext(self:renderCategories() or nil) return tostring(root) end -------------------------------------------------------------------------------- -- Exports -------------------------------------------------------------------------------- local p, mt = {}, {} function p._exportClasses() -- For testing. return { MessageBox = MessageBox } end function p.main(boxType, args, cfgTables) local box = MessageBox.new(boxType, args, cfgTables or mw.loadData(CONFIG_MODULE)) box:setParameters() box:setCategories() return box:export() end local function templatestyles(frame, src) return mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = templatestyles} } .. 'CONFIG_MODULE' end function mt.__index(t, k) return function (frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return t.main(k, getArgs(frame, {trim = false, removeBlanks = false})) end end return setmetatable(p, mt) be00cd389f9f2afcd361e5d5e33622839555cbd9 Template:Para 10 64 171 2022-10-21T19:52:33Z dev>Pppery 0 wikitext text/x-wiki <code class="tpl-para" style="word-break:break-word;{{SAFESUBST:<noinclude />#if:{{{plain|}}}|border: none; background-color: inherit;}} {{SAFESUBST:<noinclude />#if:{{{style|}}}|{{{style}}}}}">&#124;{{SAFESUBST:<noinclude />#if:{{{1|}}}|{{{1}}}&#61;}}{{{2|}}}</code><noinclude> {{Documentation}} <!--Categories and interwikis go near the bottom of the /doc subpage.--> </noinclude> 7be5bee75307eae9342bbb9ff3a613e93e93d5a7 Template:Mbox/doc 10 63 169 2022-10-21T19:54:53Z dev>Pppery 0 Localize- pass 2 wikitext text/x-wiki {{Documentation subpage}} <!-- Please add categories to the /doc subpage, and interwikis at Wikidata (see Wikipedia:Wikidata) --> {{tl|mbox}} stands '''m'''essage '''box''', which is a metatemplate used to build message boxes for other templates. It offers several different colours, images and some other features. ==Basic usage== The box below shows the most common parameters that are accepted by {{Tl|mbox}}. The purpose of each is described below. <pre style="overflow:auto;"> {{mbox | name = | small = {{{small|}}} | type = | image = | sect = {{{1|}}} | issue = | talk = {{{talk|}}} | fix = | date = {{{date|}}} | cat = | all = }} </pre> ==Full usage== The "All parameters" box shows all possible parameters for this template. However, it is not recommended to copy this, because it will never be required to use all parameters simultaneously. {| class="wikitable" align="left" style="background:transparent; width=30%;" !All parameters |- |<pre style="font-size:100%"> {{mbox | name = | small = {{{small|}}} | type = | image = | imageright = | smallimage = | smallimageright = | class = | style = | textstyle = | sect = {{{1|}}} | issue = | talk = {{{talk|}}} | fix = | date = {{{date|}}} | text = | smalltext = | plainlinks = no | removalnotice = | cat = | all = | cat2 = | all2 = | cat3 = | all3 = }} </pre> |} {{clear}} ==Common parameters== === ''name'' === The ''name'' parameter specifies the name of the template, without the Template namespace prefix. For example [[w:Template:Underlinked]] specifies {{Para|name|Underlinked}}. This parameter should be updated if the template is ever moved. The purpose of this parameter is to allow the template to have a more useful display on its template page, for example to show the date even when not specified, and to apply categorisation of the template itself. === ''small'' === The ''small'' parameter should be passed through the template, as this will allow editors to use the small format by specifying {{para|small|left}} on an article: {{mbox|nocat=true|small=left|text=This is the small left-aligned mbox format.}} Otherwise the standard format will be produced: {{mbox|nocat=true|text=This is the standard mbox format.}} Other variations: * For templates which should ''never'' be small, specify {{Para|small|no}} or do not pass the small parameter at all. * For templates which should ''always'' be small, just specify {{Para|small|left}}. * For templates which should ''default to small'', try {{para|small|<nowiki>{{{small|left}}}</nowiki>}}. This will allow an editor to override by using {{para|small|no}} on an article. To use a small box that adjusts its width to match the text, use {{para|style|width: auto; margin-right: 0px;}} and {{para|textstyle|width: auto;}} together: {{mbox|nocat=true|small=left|style=width: auto; margin-right: 0px;|textstyle=width: auto; margin-right: 0px;|text=This is the small left-aligned Ambox format with flexible width.}} See [[#Sect]] below for more information on how to limit {{para|small}} display to cases when the template is being used for a section instead of the whole article (recommended, to prevent inconsistent top-of-article display). === ''type'' === The ''type'' parameter defines the colour of the left bar, and the image that is used by default. The type is chosen not on aesthetics but is based on the type of issue that the template describes. The seven available types and their default images are shown below. {{mbox |nocat=true | type = speedy | text = type=<u>speedy</u> – Speedy deletion issues }} {{mbox |nocat=true | type = delete | text = type=<u>delete</u> – Deletion issues, }} {{mbox |nocat=true | type = content | text = type=<u>content</u> – Content issues }} {{mbox |nocat=true | type = style | text = type=<u>style</u> – Style issues }} {{mbox |nocat=true | type = notice | text = type=<u>notice</u> – Article notices {{mbox |nocat=true | type = move | text = type=<u>move</u> – Merge, split and transwiki proposals }} {{mbox |nocat=true | type = protection | text = type=<u>protection</u> – Protection notices, }} If no ''type'' parameter is given the template defaults to {{para|type|notice}}. === ''image'' === You can choose a specific image to use for the template by using the ''image'' parameter. Images are specified using the standard syntax for inserting files. Widths of 40-50px are typical. Please note: * If no image is specified then the default image corresponding to the ''type'' is used. (See [[#type]] above.) * If {{para|image|none}} is specified, then no image is used and the text uses the whole message box area. === ''sect'' === Many message templates begin with the text '''This article ...''' and it is often desirable that this wording change to '''This section ...''' if the template is used on a section instead. The value of this parameter will replace the word "article". Various possibilities for use include: {{para|sect|list}}, {{para|sect|table}}, {{para|sect|"In popular culture" material}}, etc. If using this feature, be sure to remove the first two words ("This article") from the template's text, otherwise it will be duplicated. A common way to facilitate this functionality is to pass {{para|sect|<nowiki>{{{1|}}}</nowiki>}}. This will allow editors to type <kbd>section</kbd>, for example, as the first unnamed parameter of the template to change the wording. Another approach is to pass {{para|sect|<nowiki>{{{section|{{{sect|}}}}}}</nowiki>}} to provide a named value. === ''issue'' and ''fix'' === The ''issue'' parameter is used to describe the issue with the page. Try to keep it short and to-the-point (approximately 10-20 words). The ''fix'' parameter contains some text which describes what should be done to improve the page. It may be longer than the text in ''issue'', but should not usually be more than two sentences. When the template is in its small form (when using {{para|small|left}}), the ''issue'' is the only text that will be displayed. For example [[w:Template:Citation style]] defines When used stand-alone it produces the whole text: But when used with |small=left it displays only the issue: === ''talk'' === Some message templates include a link to the talk page, and allow an editor to specify a section heading to link directly to the relevant section. To achieve this functionality, simply pass the ''talk'' parameter through, i.e. talk=<nowiki>{{{talk|}}}</nowiki> This parameter may then be used by an editor as follows: * talk=SECTION HEADING – the link will point to the specified section on the article's talk page, e.g. talk=Foo. * talk=FULL PAGE NAME – the template will link to the page specified (which may include a section anchor), e.g. talk=Talk:Banana#Foo Notes: * When this parameter is used by a template, the talk page link will appear on the template itself (in order to demonstrate the functionality) but this will only display on articles if the parameter is actually defined. * In order to make sure there is always a link to the talk page, you can use |talk=<nowiki>{{{talk|#}}}</nowiki>. * If the talk page does not exist, there will be no link, whatever the value of the parameter. === ''date'' === Passing the ''date'' parameter through to the meta-template means that the date that the article is tagged may be specified by an editor (or more commonly a bot). This will be displayed after the message in a smaller font. Passing this parameter also enables monthly cleanup categorisation when the ''cat'' parameter is also defined. === ''info'' === This parameter is for specifying additional information. Whatever you add here will appear after the date. === ''cat'' === This parameter defines a monthly cleanup category. If |cat=CATEGORY then: * articles will be placed in '''Category:CATEGORY from DATE''' if |date=DATE is specified. * articles will be placed in '''Category:CATEGORY''' if the date is not specified. For example, [[w:Template:No footnotes]] specifies |cat=Articles lacking in-text citations and so an article with the template {{Tlx|No footnotes|2=date=June 2010|SISTER=w:}} will be placed in [[w:Category:Articles lacking in-text citations from June 2010]]. The ''cat'' parameter should not be linked, nor should the prefix <code>Category:</code> be used. === ''all'' === The ''all'' parameter defines a category into which all articles should be placed. The ''all'' parameter should not be linked, nor should the prefix <code>Category:</code> be used. == Additional parameters == === ''imageright'' === An image on the right side of the message box may be specified using this parameter. The syntax is the same as for the ''image'' parameter, except that the default is no image. === ''smallimage'' and ''smallimageright'' === Images for the small format box may be specified using these parameters. They will have no effect unless {{para|small|left}} is specified. === ''class'' === Custom [[w:Cascading Style Sheets|CSS]] classes to apply to the box. If adding multiple classes, they should be space-separated. === ''style'' and ''textstyle'' === Optional CSS values may be defined, without quotation marks <code>" "</code> but with the ending semicolons <code>;</code>. * ''style'' specifies the style used by the entire message box table. This can be used to do things such as modifying the width of the box. * ''textstyle'' relates to the text cell. === ''text'' and ''smalltext'' === Instead of specifying the ''issue'' and the ''fix'' it is possible to use the ''text'' parameter instead. Customised text for the small format can be defined using ''smalltext''. === ''plainlinks'' === Normally on Wikipedia, external links have an arrow icon next to them, like this: [http://www.example.com Example.com]. However, in message boxes, the arrow icon is suppressed by default, like this: <span class="plainlinks">[http://www.example.com Example.com]</span>. To get the normal style of external link with the arrow icon, use {{para|plainlinks|no}}. === ''cat2'', ''cat3'', ''all2'', and ''all3'' === * ''cat2'' and ''cat3'' provide for additional monthly categories; see [[#cat]]. * ''all2'' and ''all3'' provide for additional categories into which all articles are placed, just like [[#all]]. == Technical notes == * If you need to use special characters in the text parameter then you need to escape them like this: <syntaxhighlight lang="xml"> {{mbox |nocat=true | text = <div> Equal sign = and a start and end brace { } work fine as they are. But here is a pipe &#124; and two end braces <nowiki>}}</nowiki>. And now a pipe and end braces <nowiki>|}}</nowiki>. </div> }} </syntaxhighlight> {{mbox |nocat=true | text = <div> Equal sign = and a start and end brace { } work fine as they are. But here is a pipe &#124; and two end braces <nowiki>}}</nowiki>. And now a pipe and end braces <nowiki>|}}</nowiki>. </div> }} * The <code>&lt;div></code> tags that surround the text in the example above are usually not needed. But if the text contains line breaks then sometimes we get weird line spacing. This especially happens when using vertical dotted lists. Then use the div tags to fix that. * The default images for this meta-template are in png format instead of svg format. The main reason is that some older web browsers have trouble with the transparent background that MediaWiki renders for svg images. The png images here have hand optimised transparent background colour so they look good in all browsers. Note that svg icons only look somewhat bad in the old browsers, thus such hand optimisation is only worth the trouble for very widely used icons. == TemplateData == <templatedata> { "params": { "1": {}, "small": { "label": "Small Mode", "description": "The small parameter should be passed through the template, as this will allow editors to use the small format by specifying |small=left on an article.", "type": "string", "suggestedvalues": [ "no", "left" ] }, "talk": {}, "date": {}, "name": { "label": "Template Name", "description": "The name parameter specifies the name of the template, without the Template namespace prefix. ", "type": "string" }, "type": {}, "image": {}, "sect": {}, "issue": {}, "fix": {}, "info": {}, "cat": {}, "all": {}, "imageright": {}, "class": {}, "text ": {}, "plainlinks": {}, "smallimage ": {}, "smallimageright": {}, "textstyle": {}, "style ": {}, "smalltext": {}, "cat2": {}, "cat3": {}, "all2": {}, "all3": {} }, "paramOrder": [ "name", "small", "type", "image", "sect", "issue", "fix", "talk", "date", "1", "info", "cat", "all", "imageright", "class", "text ", "plainlinks", "smallimage ", "smallimageright", "textstyle", "style ", "smalltext", "cat2", "cat3", "all2", "all3" ] } </templatedata> <includeonly>[[Category:Notice templates]]</includeonly> 7b00ac1be5a47eeb858d5ff75f02906ce5d85ff2 Module:Message box/configuration 828 74 191 2022-10-21T22:38:02Z dev>Pppery 0 Scribunto text/plain -------------------------------------------------------------------------------- -- Message box configuration -- -- -- -- This module contains configuration data for [[Module:Message box]]. -- -------------------------------------------------------------------------------- return { ambox = { types = { speedy = { class = 'ambox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'ambox-delete', image = 'Ambox warning pn.svg' }, content = { class = 'ambox-content', image = 'Ambox important.svg' }, style = { class = 'ambox-style', image = 'Edit-clear.svg' }, move = { class = 'ambox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'ambox-protection', image = 'Semi-protection-shackle-keyhole.svg' }, notice = { class = 'ambox-notice', image = 'Information icon4.svg' } }, default = 'notice', allowBlankParams = {'talk', 'sect', 'date', 'issue', 'fix', 'hidden'}, allowSmall = true, smallParam = 'left', smallClass = 'mbox-small-left', classes = {'metadata', 'ambox'}, imageEmptyCell = true, imageCheckBlank = true, imageSmallSize = '20x20px', imageCellDiv = true, useCollapsibleTextFields = true, imageRightNone = true, sectionDefault = 'article', allowMainspaceCategories = true, templateCategory = 'Article message templates', templateCategoryRequireName = true, templateErrorCategory = 'Article message templates with missing parameters', templateErrorParamsToCheck = {'issue', 'fix'}, }, cmbox = { types = { speedy = { class = 'cmbox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'cmbox-delete', image = 'Ambox warning pn.svg' }, content = { class = 'cmbox-content', image = 'Ambox important.svg' }, style = { class = 'cmbox-style', image = 'Edit-clear.svg' }, move = { class = 'cmbox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'cmbox-protection', image = 'Semi-protection-shackle-keyhole.svg' }, notice = { class = 'cmbox-notice', image = 'Information icon4.svg' } }, default = 'notice', showInvalidTypeError = true, classes = {'cmbox'}, imageEmptyCell = true }, fmbox = { types = { warning = { class = 'fmbox-warning', image = 'Ambox warning pn.svg' }, editnotice = { class = 'fmbox-editnotice', image = 'Information icon4.svg' }, system = { class = 'fmbox-system', image = 'Information icon4.svg' } }, default = 'system', showInvalidTypeError = true, classes = {'fmbox'}, imageEmptyCell = false, imageRightNone = false }, imbox = { types = { speedy = { class = 'imbox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'imbox-delete', image = 'Ambox warning pn.svg' }, content = { class = 'imbox-content', image = 'Ambox important.svg' }, style = { class = 'imbox-style', image = 'Edit-clear.svg' }, move = { class = 'imbox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'imbox-protection', image = 'Semi-protection-shackle-keyhole.svg' }, license = { class = 'imbox-license licensetpl', image = 'Imbox license.png' -- @todo We need an SVG version of this }, featured = { class = 'imbox-featured', image = 'Cscr-featured.svg' }, notice = { class = 'imbox-notice', image = 'Information icon4.svg' } }, default = 'notice', showInvalidTypeError = true, classes = {'imbox'}, imageEmptyCell = true, below = true, templateCategory = 'File message boxes' }, ombox = { types = { speedy = { class = 'ombox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'ombox-delete', image = 'Ambox warning pn.svg' }, content = { class = 'ombox-content', image = 'Ambox important.svg' }, style = { class = 'ombox-style', image = 'Edit-clear.svg' }, move = { class = 'ombox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'ombox-protection', image = 'Semi-protection-shackle-keyhole.svg' }, notice = { class = 'ombox-notice', image = 'Information icon4.svg' } }, default = 'notice', showInvalidTypeError = true, classes = {'ombox'}, allowSmall = true, imageEmptyCell = true, imageRightNone = true }, tmbox = { types = { speedy = { class = 'tmbox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'tmbox-delete', image = 'Ambox warning pn.svg' }, content = { class = 'tmbox-content', image = 'Ambox important.svg' }, style = { class = 'tmbox-style', image = 'Edit-clear.svg' }, move = { class = 'tmbox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'tmbox-protection', image = 'Semi-protection-shackle-keyhole.svg' }, notice = { class = 'tmbox-notice', image = 'Information icon4.svg' } }, default = 'notice', showInvalidTypeError = true, classes = {'tmbox'}, allowSmall = true, imageRightNone = true, imageEmptyCell = true, imageEmptyCellStyle = true, templateCategory = 'Talk message boxes' } } c6bd9191861b23e474e12b19c694335c4bc3af5f Template:Mbox 10 57 157 2022-10-21T23:02:23Z dev>Pppery 0 Reverted edits by [[Special:Contributions/Pppery|Pppery]] ([[User talk:Pppery|talk]]) to last revision by [[User:wikipedia>Amorymeltzer|wikipedia>Amorymeltzer]] wikitext text/x-wiki {{#invoke:Message box|mbox}}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> c262e205f85f774a23f74119179ceea11751d68e Template:Delete 10 56 155 2022-10-24T15:28:45Z dev>Universal Omega 0 Update tvar tags wikitext text/x-wiki {{MessageBox |Flag color=firebrick |Border color=firebrick |Background color=#FFEEEE |Image=[[File:Trash Can.svg|80px]] |Message text=<span style="line-height:2;"><span style="color:red; line-height:1.2;">'''This article is a candidate for speedy deletion because {{{1}}}. '''</span><br><span style="color:#000000;"> Deleting Reason: {{{1|No reason given}}}</span></span> }}<noinclude>[[Category:Notice templates]]</noinclude> <includeonly>[[Category:Candidates for deletion]]</includeonly> <noinclude> <languages /> <translate> <!--T:1--> == Usage Note == Add this template to any page on this wiki for which you're requesting an [[<tvar name=admin>mw:Special:MyLanguage/Manual:Administrators</tvar>|administrator]] to delete, either by adding it to the very top of the page (preferred) or by replacing the existing content with this template (also acceptable) following the format prescribed below.</translate> <code><nowiki>{{Delete|1=</nowiki>''Your deletion reason''<nowiki>}}</nowiki></code> <translate> <!--T:2--> Replace ''your deletion reason'' with one of the commonly accepted reasons for deletion below, or describe concisely ''why'' you are requesting deletion. <!--T:3--> If you do not specify a reason in parameter <code>1=</code>, ''no deletion reason'' will be inserted, and your request ''may'' be declined if it is not apparent why deletion is being requested. <!--T:4--> === Commonly accepted reasons for deletion === * Vandalism * Attack page/page created solely for harassment * Copyright violation * Spam * Test page. Please either use the [[<tvar name=sb>m:Meta:Sandbox</tvar>|community sandbox]] or [[<tvar name=mypsb>Special:MyPage/sandbox</tvar>|create your personal sandbox]] * Non-controversial housekeeping * [[<tvar name=br>Special:BrokenRedirects</tvar>|Broken redirect]] * [[<tvar name=dr>Special:DoubleRedirects</tvar>|Double redirect]] * Author requests deletion, or author blanked * Subpages with no parent page * Talk pages with no companion page and no meaningful discussion history * Images available as identical copies on either [[<tvar name=commons>commons:Special:MyLanguage/Main Page</tvar>|Miraheze Commons]] or [[wikimediacommons:|Wikimedia Commons]] * [[<tvar name=uc>Special:UnusedCategories</tvar>|Empty category]] * [[<tvar name=ut>Special:UnusedTemplates</tvar>|Unused template (including a template redirect)]] with no inlinks, transclusions, or page watchers === Parameter(s) === <!--T:5--> </translate> <templatedata> { "params": { "1": { "label": "Deletion reason", "example": "Author requests deletion, or author blanked", "default": "No deletion reason", "suggested": true, "description": "Template to add to any page requiring deletion." } } } </templatedata> </noinclude> ae465d4609d3bbb646339e90ae469c31ce34a9df Main Page 0 1 1 2022-11-25T08:09:45Z MediaWiki default 1 Create main page wikitext text/x-wiki __NOTOC__ == Welcome to {{SITENAME}}! == This Main Page was created automatically and it seems it hasn't been replaced yet. === For the bureaucrat(s) of this wiki === Hello, and welcome to your new wiki! Thank you for choosing Miraheze for the hosting of your wiki, we hope you will enjoy our hosting. You can immediately start working on your wiki or whenever you want. Need help? No problem! We will help you with your wiki as needed. To start, try checking out these helpful links: * [[mw:Special:MyLanguage/Help:Contents|MediaWiki guide]] (e.g. navigation, editing, deleting pages, blocking users) * [[meta:Special:MyLanguage/FAQ|Miraheze FAQ]] * [[meta:Special:MyLanguage/Request features|Request settings changes on your wiki]]. (Extensions, Skin and Logo/Favicon changes should be done through [[Special:ManageWiki]] on your wiki, see [[meta:Special:MyLanguage/ManageWiki|ManageWiki]] for more information.) ==== I still don't understand X! ==== Well, that's no problem. Even if something isn't explained in the documentation/FAQ, we are still happy to help you. You can find us here: * [[meta:Special:MyLanguage/Help center|On our own Miraheze wiki]] * On [[phab:|Phabricator]] * On [https://miraheze.org/discord Discord] * On IRC in #miraheze on irc.libera.chat ([irc://irc.libera.chat/%23miraheze direct link]; [https://web.libera.chat/?channel=#miraheze webchat]) === For visitors of this wiki === Hello, the default Main Page of this wiki (this page) has not yet been replaced by the bureaucrat(s) of this wiki. The bureaucrat(s) might still be working on a Main Page, so please check again later! 21236ac3f8d65e5563b6da6b70815ca6bf1e6616 4 1 2022-11-25T09:35:24Z Werewire 2 /* For visitors of this wiki */ wikitext text/x-wiki __NOTOC__ == Welcome to {{SITENAME}}! == This Main Page was created automatically and it seems it hasn't been replaced yet. === For the bureaucrat(s) of this wiki === Hello, and welcome to your new wiki! Thank you for choosing Miraheze for the hosting of your wiki, we hope you will enjoy our hosting. You can immediately start working on your wiki or whenever you want. Need help? No problem! We will help you with your wiki as needed. To start, try checking out these helpful links: * [[mw:Special:MyLanguage/Help:Contents|MediaWiki guide]] (e.g. navigation, editing, deleting pages, blocking users) * [[meta:Special:MyLanguage/FAQ|Miraheze FAQ]] * [[meta:Special:MyLanguage/Request features|Request settings changes on your wiki]]. (Extensions, Skin and Logo/Favicon changes should be done through [[Special:ManageWiki]] on your wiki, see [[meta:Special:MyLanguage/ManageWiki|ManageWiki]] for more information.) ==== I still don't understand X! ==== Well, that's no problem. Even if something isn't explained in the documentation/FAQ, we are still happy to help you. You can find us here: * [[meta:Special:MyLanguage/Help center|On our own Miraheze wiki]] * On [[phab:|Phabricator]] * On [https://miraheze.org/discord Discord] * On IRC in #miraheze on irc.libera.chat ([irc://irc.libera.chat/%23miraheze direct link]; [https://web.libera.chat/?channel=#miraheze webchat]) === For visitors of this wiki === Hello, the default Main Page of this wiki (this page) has not yet been replaced by the bureaucrat(s) of this wiki. The bureaucrat(s) might still be working on a Main Page, so please check again later! '''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''. 525b6ff0c06e6bb292e8ffbfe8e517b4aab05b6a 20 4 2022-11-26T04:41:09Z Werewire 2 wikitext text/x-wiki __NOTOC__ == Welcome to {{SITENAME}}! == This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. === For the bureaucrat(s) of this wiki === Hello, and welcome to your new wiki! Thank you for choosing Miraheze for the hosting of your wiki, we hope you will enjoy our hosting. You can immediately start working on your wiki or whenever you want. Need help? No problem! We will help you with your wiki as needed. To start, try checking out these helpful links: * [[mw:Special:MyLanguage/Help:Contents|MediaWiki guide]] (e.g. navigation, editing, deleting pages, blocking users) * [[meta:Special:MyLanguage/FAQ|Miraheze FAQ]] * [[meta:Special:MyLanguage/Request features|Request settings changes on your wiki]]. (Extensions, Skin and Logo/Favicon changes should be done through [[Special:ManageWiki]] on your wiki, see [[meta:Special:MyLanguage/ManageWiki|ManageWiki]] for more information.) ==== I still don't understand X! ==== Well, that's no problem. Even if something isn't explained in the documentation/FAQ, we are still happy to help you. You can find us here: * [[meta:Special:MyLanguage/Help center|On our own Miraheze wiki]] * On [[phab:|Phabricator]] * On [https://miraheze.org/discord Discord] * On IRC in #miraheze on irc.libera.chat ([irc://irc.libera.chat/%23miraheze direct link]; [https://web.libera.chat/?channel=#miraheze webchat]) === For visitors of this wiki === Hello, the default Main Page of this wiki (this page) has not yet been replaced by the bureaucrat(s) of this wiki. The bureaucrat(s) might still be working on a Main Page, so please check again later! '''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''. 826e1be761a7782898b2949203ad3f631c2b571e 23 20 2022-11-26T05:12:36Z Werewire 2 Main page done! wikitext text/x-wiki __NOTOC__ == Welcome to {{SITENAME}}! == This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. === For visitors of this wiki: === This wiki will contain helpful information about the characters and setting of EOX. Feel free to help out if you'd like, just make character pages, etc, look somewhat like [[Kid|Kid's]] page Things that are planned to be included is: * Basic Plot summaries * Personality * Relationships * Highlight colors * Images from the comics * All the cast images '''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''. ==== I have a problem with/suggestion for the wiki! ==== If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact: * [[User:Werewire|Me]] * Any future "mods" === Additional Links === * [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom * [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts 8236714ade5b519dae88e35ad0bd11e9dc2a4c52 File:Eox.ico 6 2 2 2022-11-25T08:35:07Z Werewire 2 favicon wikitext text/x-wiki == Summary == favicon 2360d15e65d02af45a96f1c2726e00a2bcbfbe05 File:200x.png 6 3 3 2022-11-25T09:30:12Z Werewire 2 placeholder while i figure out how to make templates wikitext text/x-wiki == Summary == placeholder while i figure out how to make templates 15a5fd2eda8f7368bf6e62ae005f63f0579b988f Template:Infobox/Character 10 4 5 2022-11-25T09:44:40Z Werewire 2 possible template for infoboxes wikitext text/x-wiki {| class="wikitable" |+ !Name |- |[[File:200x.png|frameless]] |- |"Quote Goes here?" |- |First Appearance: |- |Status: |- |Nicknames: |- |Highlight Color: |- |Relationships: |- |Likes: |- |Dislikes: |} 5fc7dad12a4f0f5d0f4751faf480157af0631e05 Module:Infobox 828 5 6 2022-11-25T19:30:11Z PercyUK 3 Created page with "local p = {} local args = {} local origArgs = {} local root local empty_row_categories = {} local category_in_empty_row_pattern = '%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^]]*]]' local has_rows = false local function fixChildBoxes(sval, tt) local function notempty( s ) return s and s:match( '%S' ) end if notempty(sval) then local marker = '<span class=special_infobox_marker>' local s = sval s = mw.ustring.gsub(s, '(<%s*[Tt][Rr])', marker .. '%1') s = mw...." Scribunto text/plain local p = {} local args = {} local origArgs = {} local root local empty_row_categories = {} local category_in_empty_row_pattern = '%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^]]*]]' local has_rows = false local function fixChildBoxes(sval, tt) local function notempty( s ) return s and s:match( '%S' ) end if notempty(sval) then local marker = '<span class=special_infobox_marker>' local s = sval s = mw.ustring.gsub(s, '(<%s*[Tt][Rr])', marker .. '%1') s = mw.ustring.gsub(s, '(</[Tt][Rr]%s*>)', '%1' .. marker) if s:match(marker) then s = mw.ustring.gsub(s, marker .. '%s*' .. marker, '') s = mw.ustring.gsub(s, '([\r\n]|-[^\r\n]*[\r\n])%s*' .. marker, '%1') s = mw.ustring.gsub(s, marker .. '%s*([\r\n]|-)', '%1') s = mw.ustring.gsub(s, '(</[Cc][Aa][Pp][Tt][Ii][Oo][Nn]%s*>%s*)' .. marker, '%1') s = mw.ustring.gsub(s, '(<%s*[Tt][Aa][Bb][Ll][Ee][^<>]*>%s*)' .. marker, '%1') s = mw.ustring.gsub(s, '^(%{|[^\r\n]*[\r\n]%s*)' .. marker, '%1') s = mw.ustring.gsub(s, '([\r\n]%{|[^\r\n]*[\r\n]%s*)' .. marker, '%1') s = mw.ustring.gsub(s, marker .. '(%s*</[Tt][Aa][Bb][Ll][Ee]%s*>)', '%1') s = mw.ustring.gsub(s, marker .. '(%s*\n|%})', '%1') end if s:match(marker) then local subcells = mw.text.split(s, marker) s = '' for k = 1, #subcells do if k == 1 then s = s .. subcells[k] .. '</' .. tt .. '></tr>' elseif k == #subcells then local rowstyle = ' style="display:none"' if notempty(subcells[k]) then rowstyle = '' end s = s .. '<tr' .. rowstyle ..'><' .. tt .. ' colspan=2>\n' .. subcells[k] elseif notempty(subcells[k]) then if (k % 2) == 0 then s = s .. subcells[k] else s = s .. '<tr><' .. tt .. ' colspan=2>\n' .. subcells[k] .. '</' .. tt .. '></tr>' end end end end -- the next two lines add a newline at the end of lists for the PHP parser -- [[Special:Diff/849054481]] -- remove when [[:phab:T191516]] is fixed or OBE s = mw.ustring.gsub(s, '([\r\n][%*#;:][^\r\n]*)$', '%1\n') s = mw.ustring.gsub(s, '^([%*#;:][^\r\n]*)$', '%1\n') s = mw.ustring.gsub(s, '^([%*#;:])', '\n%1') s = mw.ustring.gsub(s, '^(%{%|)', '\n%1') return s else return sval end end -- Cleans empty tables local function cleanInfobox() root = tostring(root) if has_rows == false then root = mw.ustring.gsub(root, '<table[^<>]*>%s*</table>', '') end end -- Returns the union of the values of two tables, as a sequence. local function union(t1, t2) local vals = {} for k, v in pairs(t1) do vals[v] = true end for k, v in pairs(t2) do vals[v] = true end local ret = {} for k, v in pairs(vals) do table.insert(ret, k) end return ret end -- Returns a table containing the numbers of the arguments that exist -- for the specified prefix. For example, if the prefix was 'data', and -- 'data1', 'data2', and 'data5' exist, it would return {1, 2, 5}. local function getArgNums(prefix) local nums = {} for k, v in pairs(args) do local num = tostring(k):match('^' .. prefix .. '([1-9]%d*)$') if num then table.insert(nums, tonumber(num)) end end table.sort(nums) return nums end -- Adds a row to the infobox, with either a header cell -- or a label/data cell combination. local function addRow(rowArgs) if rowArgs.header and rowArgs.header ~= '_BLANK_' then has_rows = true root :tag('tr') :addClass(rowArgs.rowclass) :cssText(rowArgs.rowstyle) :tag('th') :attr('colspan', '2') :addClass('infobox-header') :addClass(rowArgs.class) :addClass(args.headerclass) -- @deprecated next; target .infobox-<name> .infobox-header :cssText(args.headerstyle) :cssText(rowArgs.rowcellstyle) :wikitext(fixChildBoxes(rowArgs.header, 'th')) if rowArgs.data then root:wikitext( '[[Category:Pages which use infobox templates with ignored data cells]]' ) end elseif rowArgs.data and rowArgs.data:gsub( category_in_empty_row_pattern, '' ):match('^%S') then has_rows = true local row = root:tag('tr') row:addClass(rowArgs.rowclass) row:cssText(rowArgs.rowstyle) if rowArgs.label then row :tag('th') :attr('scope', 'row') :addClass('infobox-label') -- @deprecated next; target .infobox-<name> .infobox-label :cssText(args.labelstyle) :cssText(rowArgs.rowcellstyle) :wikitext(rowArgs.label) :done() end local dataCell = row:tag('td') dataCell :attr('colspan', not rowArgs.label and '2' or nil) :addClass(not rowArgs.label and 'infobox-full-data' or 'infobox-data') :addClass(rowArgs.class) -- @deprecated next; target .infobox-<name> .infobox(-full)-data :cssText(rowArgs.datastyle) :cssText(rowArgs.rowcellstyle) :wikitext(fixChildBoxes(rowArgs.data, 'td')) else table.insert(empty_row_categories, rowArgs.data or '') end end local function renderTitle() if not args.title then return end has_rows = true root :tag('caption') :addClass('infobox-title') :addClass(args.titleclass) -- @deprecated next; target .infobox-<name> .infobox-title :cssText(args.titlestyle) :wikitext(args.title) end local function renderAboveRow() if not args.above then return end has_rows = true root :tag('tr') :tag('th') :attr('colspan', '2') :addClass('infobox-above') :addClass(args.aboveclass) -- @deprecated next; target .infobox-<name> .infobox-above :cssText(args.abovestyle) :wikitext(fixChildBoxes(args.above,'th')) end local function renderBelowRow() if not args.below then return end has_rows = true root :tag('tr') :tag('td') :attr('colspan', '2') :addClass('infobox-below') :addClass(args.belowclass) -- @deprecated next; target .infobox-<name> .infobox-below :cssText(args.belowstyle) :wikitext(fixChildBoxes(args.below,'td')) end local function addSubheaderRow(subheaderArgs) if subheaderArgs.data and subheaderArgs.data:gsub(category_in_empty_row_pattern, ''):match('^%S') then has_rows = true local row = root:tag('tr') row:addClass(subheaderArgs.rowclass) local dataCell = row:tag('td') dataCell :attr('colspan', '2') :addClass('infobox-subheader') :addClass(subheaderArgs.class) :cssText(subheaderArgs.datastyle) :cssText(subheaderArgs.rowcellstyle) :wikitext(fixChildBoxes(subheaderArgs.data, 'td')) else table.insert(empty_row_categories, subheaderArgs.data or '') end end local function renderSubheaders() if args.subheader then args.subheader1 = args.subheader end if args.subheaderrowclass then args.subheaderrowclass1 = args.subheaderrowclass end local subheadernums = getArgNums('subheader') for k, num in ipairs(subheadernums) do addSubheaderRow({ data = args['subheader' .. tostring(num)], -- @deprecated next; target .infobox-<name> .infobox-subheader datastyle = args.subheaderstyle, rowcellstyle = args['subheaderstyle' .. tostring(num)], class = args.subheaderclass, rowclass = args['subheaderrowclass' .. tostring(num)] }) end end local function addImageRow(imageArgs) if imageArgs.data and imageArgs.data:gsub(category_in_empty_row_pattern, ''):match('^%S') then has_rows = true local row = root:tag('tr') row:addClass(imageArgs.rowclass) local dataCell = row:tag('td') dataCell :attr('colspan', '2') :addClass('infobox-image') :addClass(imageArgs.class) :cssText(imageArgs.datastyle) :wikitext(fixChildBoxes(imageArgs.data, 'td')) else table.insert(empty_row_categories, imageArgs.data or '') end end local function renderImages() if args.image then args.image1 = args.image end if args.caption then args.caption1 = args.caption end local imagenums = getArgNums('image') for k, num in ipairs(imagenums) do local caption = args['caption' .. tostring(num)] local data = mw.html.create():wikitext(args['image' .. tostring(num)]) if caption then data :tag('div') :addClass('infobox-caption') -- @deprecated next; target .infobox-<name> .infobox-caption :cssText(args.captionstyle) :wikitext(caption) end addImageRow({ data = tostring(data), -- @deprecated next; target .infobox-<name> .infobox-image datastyle = args.imagestyle, class = args.imageclass, rowclass = args['imagerowclass' .. tostring(num)] }) end end -- When autoheaders are turned on, preprocesses the rows local function preprocessRows() if not args.autoheaders then return end local rownums = union(getArgNums('header'), getArgNums('data')) table.sort(rownums) local lastheader for k, num in ipairs(rownums) do if args['header' .. tostring(num)] then if lastheader then args['header' .. tostring(lastheader)] = nil end lastheader = num elseif args['data' .. tostring(num)] and args['data' .. tostring(num)]:gsub( category_in_empty_row_pattern, '' ):match('^%S') then local data = args['data' .. tostring(num)] if data:gsub(category_in_empty_row_pattern, ''):match('%S') then lastheader = nil end end end if lastheader then args['header' .. tostring(lastheader)] = nil end end -- Gets the union of the header and data argument numbers, -- and renders them all in order local function renderRows() local rownums = union(getArgNums('header'), getArgNums('data')) table.sort(rownums) for k, num in ipairs(rownums) do addRow({ header = args['header' .. tostring(num)], label = args['label' .. tostring(num)], data = args['data' .. tostring(num)], datastyle = args.datastyle, class = args['class' .. tostring(num)], rowclass = args['rowclass' .. tostring(num)], -- @deprecated next; target .infobox-<name> rowclass rowstyle = args['rowstyle' .. tostring(num)], rowcellstyle = args['rowcellstyle' .. tostring(num)] }) end end local function renderNavBar() if not args.name then return end has_rows = true root :tag('tr') :tag('td') :attr('colspan', '2') :addClass('infobox-navbar') :wikitext(require('Module:Navbar')._navbar{ args.name, mini = 1, }) end local function renderItalicTitle() local italicTitle = args['italic title'] and mw.ustring.lower(args['italic title']) if italicTitle == '' or italicTitle == 'force' or italicTitle == 'yes' then root:wikitext(mw.getCurrentFrame():expandTemplate({title = 'italic title'})) end end -- Categories in otherwise empty rows are collected in empty_row_categories. -- This function adds them to the module output. It is not affected by -- args.decat because this module should not prevent module-external categories -- from rendering. local function renderEmptyRowCategories() for _, s in ipairs(empty_row_categories) do root:wikitext(s) end end -- Render tracking categories. args.decat == turns off tracking categories. local function renderTrackingCategories() if args.decat == 'yes' then return end if args.child == 'yes' then if args.title then root:wikitext( '[[Category:Pages which use embedded infobox templates with the title parameter]]' ) end elseif #(getArgNums('data')) == 0 and mw.title.getCurrentTitle().namespace == 0 then root:wikitext('[[Category:Articles which use infobox templates with no data rows]]') end end --[=[ Loads the templatestyles for the infobox. TODO: load base templatestyles here rather than in MediaWiki:Common.css We aren't doing it here yet because there are 4-5000 pages with 'raw' infobox tables. See [[Mediawiki_talk:Common.css/to_do#Infobox]] and/or come help :). When we do this we should clean up the inline CSS below too. Will have to do some bizarre conversion category like with sidebar. ]=] local function loadTemplateStyles() local frame = mw.getCurrentFrame() -- See function description -- local base_templatestyles = frame:extensionTag{ -- name = 'templatestyles', args = { src = cfg.i18n.templatestyles } -- } local templatestyles = '' if args['templatestyles'] then templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = args['templatestyles'] } } end local child_templatestyles = '' if args['child templatestyles'] then child_templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = args['child templatestyles'] } } end local grandchild_templatestyles = '' if args['grandchild templatestyles'] then grandchild_templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = args['grandchild templatestyles'] } } end return table.concat({ -- base_templatestyles, -- see function description templatestyles, child_templatestyles, grandchild_templatestyles }) end -- Specify the overall layout of the infobox, with special settings if the -- infobox is used as a 'child' inside another infobox. local function _infobox() if args.child ~= 'yes' then root = mw.html.create('table') root :addClass(args.subbox == 'yes' and 'infobox-subbox' or 'infobox') :addClass(args.bodyclass) -- @deprecated next; target .infobox-<name> :cssText(args.bodystyle) renderTitle() renderAboveRow() else root = mw.html.create() root :wikitext(args.title) end renderSubheaders() renderImages() preprocessRows() renderRows() renderBelowRow() renderNavBar() renderItalicTitle() renderEmptyRowCategories() renderTrackingCategories() cleanInfobox() return loadTemplateStyles() .. root end -- If the argument exists and isn't blank, add it to the argument table. -- Blank arguments are treated as nil to match the behaviour of ParserFunctions. local function preprocessSingleArg(argName) if origArgs[argName] and origArgs[argName] ~= '' then args[argName] = origArgs[argName] end end -- Assign the parameters with the given prefixes to the args table, in order, in -- batches of the step size specified. This is to prevent references etc. from -- appearing in the wrong order. The prefixTable should be an array containing -- tables, each of which has two possible fields, a "prefix" string and a -- "depend" table. The function always parses parameters containing the "prefix" -- string, but only parses parameters in the "depend" table if the prefix -- parameter is present and non-blank. local function preprocessArgs(prefixTable, step) if type(prefixTable) ~= 'table' then error("Non-table value detected for the prefix table", 2) end if type(step) ~= 'number' then error("Invalid step value detected", 2) end -- Get arguments without a number suffix, and check for bad input. for i,v in ipairs(prefixTable) do if type(v) ~= 'table' or type(v.prefix) ~= "string" or (v.depend and type(v.depend) ~= 'table') then error('Invalid input detected to preprocessArgs prefix table', 2) end preprocessSingleArg(v.prefix) -- Only parse the depend parameter if the prefix parameter is present -- and not blank. if args[v.prefix] and v.depend then for j, dependValue in ipairs(v.depend) do if type(dependValue) ~= 'string' then error('Invalid "depend" parameter value detected in preprocessArgs') end preprocessSingleArg(dependValue) end end end -- Get arguments with number suffixes. local a = 1 -- Counter variable. local moreArgumentsExist = true while moreArgumentsExist == true do moreArgumentsExist = false for i = a, a + step - 1 do for j,v in ipairs(prefixTable) do local prefixArgName = v.prefix .. tostring(i) if origArgs[prefixArgName] then -- Do another loop if any arguments are found, even blank ones. moreArgumentsExist = true preprocessSingleArg(prefixArgName) end -- Process the depend table if the prefix argument is present -- and not blank, or we are processing "prefix1" and "prefix" is -- present and not blank, and if the depend table is present. if v.depend and (args[prefixArgName] or (i == 1 and args[v.prefix])) then for j,dependValue in ipairs(v.depend) do local dependArgName = dependValue .. tostring(i) preprocessSingleArg(dependArgName) end end end end a = a + step end end -- Parse the data parameters in the same order that the old {{infobox}} did, so -- that references etc. will display in the expected places. Parameters that -- depend on another parameter are only processed if that parameter is present, -- to avoid phantom references appearing in article reference lists. local function parseDataParameters() preprocessSingleArg('autoheaders') preprocessSingleArg('child') preprocessSingleArg('bodyclass') preprocessSingleArg('subbox') preprocessSingleArg('bodystyle') preprocessSingleArg('title') preprocessSingleArg('titleclass') preprocessSingleArg('titlestyle') preprocessSingleArg('above') preprocessSingleArg('aboveclass') preprocessSingleArg('abovestyle') preprocessArgs({ {prefix = 'subheader', depend = {'subheaderstyle', 'subheaderrowclass'}} }, 10) preprocessSingleArg('subheaderstyle') preprocessSingleArg('subheaderclass') preprocessArgs({ {prefix = 'image', depend = {'caption', 'imagerowclass'}} }, 10) preprocessSingleArg('captionstyle') preprocessSingleArg('imagestyle') preprocessSingleArg('imageclass') preprocessArgs({ {prefix = 'header'}, {prefix = 'data', depend = {'label'}}, {prefix = 'rowclass'}, {prefix = 'rowstyle'}, {prefix = 'rowcellstyle'}, {prefix = 'class'} }, 50) preprocessSingleArg('headerclass') preprocessSingleArg('headerstyle') preprocessSingleArg('labelstyle') preprocessSingleArg('datastyle') preprocessSingleArg('below') preprocessSingleArg('belowclass') preprocessSingleArg('belowstyle') preprocessSingleArg('name') -- different behaviour for italics if blank or absent args['italic title'] = origArgs['italic title'] preprocessSingleArg('decat') preprocessSingleArg('templatestyles') preprocessSingleArg('child templatestyles') preprocessSingleArg('grandchild templatestyles') end -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. function p.infobox(frame) if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args else origArgs = frame end parseDataParameters() return _infobox() end -- For calling via #invoke within a template function p.infoboxTemplate(frame) origArgs = {} for k,v in pairs(frame.args) do origArgs[k] = mw.text.trim(v) end parseDataParameters() return _infobox() end return p 8da3d8cb2583739d63030681ca84df90700981fa MediaWiki:Common.css 8 6 7 2022-11-25T22:39:34Z Werewire 2 basic css updates to make the wiki resemble the eox cf site css text/css /* CSS placed here will be applied to all skins */ body { display: table; width: 100%; font-family: tamoha, arial, sans-serif; background-color: #555555; color: #282828; margin: 0; min-width: 750px; } .mw-page-container { background: #555555; } #content { border: 1px solid #000000; background-color: #DFDFDF; } #mw-panel.mw-sidebar { border: 1px solid #000000; background: #DFDFDF; padding: 10px; } a:link, a:visited { color: #1e1e1e; text-decoration: none; border-bottom:1px solid #000; } 2b0c1d0ff122bd33b760ecbb00a6c143b05f0871 9 7 2022-11-26T00:25:41Z Werewire 2 additional css updates css text/css /* CSS placed here will be applied to all skins */ body { display: table; width: 100%; font-family: tamoha, arial, sans-serif; background-color: #555555; color: #282828; margin: 0; min-width: 750px; } .mw-logo-container { content: url(https://static-new.miraheze.org/ecopportunityxwiki/6/6d/Wiki_header.png?20221126001210); } .mw-page-container { background: #555555; } #content { border: 1px solid #000000; background-color: #DFDFDF; } #mw-panel.mw-sidebar { border: 1px solid #000000; background: #DFDFDF; padding: 10px; } a:link, a:visited { color: #1e1e1e; text-decoration: none; border-bottom:1px solid #1e1e1e; } .vector-menu-portal .vector-menu-content li a:visited, .vector-menu-portal .vector-menu-content li a { color: #1e1e1e; } .vector-menu-tabs li a { color: #1e1e1e; } .vector-menu-tabs li { background-image: linear-gradient(to top,#7f7f7f 0,#aaaaaa 1px,#dfdfdf 100%); background-position: left bottom; background-repeat: repeat-x; float: left; display: block; height: 100%; margin: 0; padding: 0; line-height: 1.125em; white-space: nowrap; } .vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading { background-image: none; } /* Wikitables */ .wikitable { background-color: #dfdfdf; color: #282828; margin: 1em 0; border: 1px solid #a2a9b1; border-collapse: collapse; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: #aaaaaa; text-align: center; } a9c707c546ee5245aa2899c73531b52947303380 12 9 2022-11-26T01:37:43Z Werewire 2 added float to wikitables css text/css /* CSS placed here will be applied to all skins */ body { display: table; width: 100%; font-family: tamoha, arial, sans-serif; background-color: #555555; color: #282828; margin: 0; min-width: 750px; } .mw-logo-container { content: url(https://static-new.miraheze.org/ecopportunityxwiki/6/6d/Wiki_header.png?20221126001210); } .mw-page-container { background: #555555; } #content { border: 1px solid #000000; background-color: #DFDFDF; } #mw-panel.mw-sidebar { border: 1px solid #000000; background: #DFDFDF; padding: 10px; } a:link, a:visited { color: #1e1e1e; text-decoration: none; border-bottom:1px solid #1e1e1e; } .vector-menu-portal .vector-menu-content li a:visited, .vector-menu-portal .vector-menu-content li a { color: #1e1e1e; } .vector-menu-tabs li a { color: #1e1e1e; } .vector-menu-tabs li { background-image: linear-gradient(to top,#7f7f7f 0,#aaaaaa 1px,#dfdfdf 100%); background-position: left bottom; background-repeat: repeat-x; float: left; display: block; height: 100%; margin: 0; padding: 0; line-height: 1.125em; white-space: nowrap; } .vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading { background-image: none; } /* Wikitables */ .wikitable { background-color: #dfdfdf; color: #282828; margin: 1em 0; border: 1px solid #a2a9b1; border-collapse: collapse; float: right; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: #aaaaaa; text-align: center; } 44413cb8bd535982f50b428fa0f9117a74358b33 13 12 2022-11-26T01:39:20Z Werewire 2 css text/css /* CSS placed here will be applied to all skins */ body { display: table; width: 100%; font-family: tamoha, arial, sans-serif; background-color: #555555; color: #282828; margin: 0; min-width: 750px; } .mw-logo-container { content: url(https://static-new.miraheze.org/ecopportunityxwiki/6/6d/Wiki_header.png?20221126001210); } .mw-page-container { background: #555555; } #content { border: 1px solid #000000; background-color: #DFDFDF; } #mw-panel.mw-sidebar { border: 1px solid #000000; background: #DFDFDF; padding: 10px; } a:link, a:visited { color: #1e1e1e; text-decoration: none; border-bottom:1px solid #1e1e1e; } .vector-menu-portal .vector-menu-content li a:visited, .vector-menu-portal .vector-menu-content li a { color: #1e1e1e; } .vector-menu-tabs li a { color: #1e1e1e; } .vector-menu-tabs li { background-image: linear-gradient(to top,#7f7f7f 0,#aaaaaa 1px,#dfdfdf 100%); background-position: left bottom; background-repeat: repeat-x; float: left; display: block; height: 100%; margin: 0; padding: 0; line-height: 1.125em; white-space: nowrap; } .vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading { background-image: none; } /* Wikitables */ .wikitable { background-color: #dfdfdf; color: #282828; margin: 1em 0; border: 1px solid #a2a9b1; border-collapse: collapse; float: right; clear: right; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: #aaaaaa; text-align: center; } 26d020545fecd6af24b46b97f414dc3ae3e723ec 14 13 2022-11-26T01:44:13Z Werewire 2 css text/css /* CSS placed here will be applied to all skins */ body { display: table; width: 100%; font-family: tamoha, arial, sans-serif; background-color: #555555; color: #282828; margin: 0; min-width: 750px; } .mw-logo-container { content: url(https://static-new.miraheze.org/ecopportunityxwiki/6/6d/Wiki_header.png?20221126001210); } .mw-page-container { background: #555555; } #content { border: 1px solid #000000; background-color: #DFDFDF; } #mw-panel.mw-sidebar { border: 1px solid #000000; background: #DFDFDF; padding: 10px; } a:link, a:visited { color: #1e1e1e; text-decoration: none; border-bottom:1px solid #1e1e1e; } .vector-menu-portal .vector-menu-content li a:visited, .vector-menu-portal .vector-menu-content li a { color: #1e1e1e; } .vector-menu-tabs li a { color: #1e1e1e; } .vector-menu-tabs li { background-image: linear-gradient(to top,#7f7f7f 0,#aaaaaa 1px,#dfdfdf 100%); background-position: left bottom; background-repeat: repeat-x; float: left; display: block; height: 100%; margin: 0; padding: 0; line-height: 1.125em; white-space: nowrap; } .vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading { background-image: none; } /* Wikitables */ .wikitable { background-color: #dfdfdf; color: #282828; border: 1px solid #a2a9b1; float: right; clear: right; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: #aaaaaa; text-align: center; } 3161e8e44f525a7b5290bcb320a83cb7c5e69eb7 15 14 2022-11-26T03:53:13Z Werewire 2 css text/css /* CSS placed here will be applied to all skins */ body { display: table; width: 100%; font-family: tamoha, arial, sans-serif; background-color: #555555; color: #282828; margin: 0; min-width: 750px; } .mw-logo-container { content: url(https://static-new.miraheze.org/ecopportunityxwiki/6/6d/Wiki_header.png?20221126001210); } .mw-page-container { background: #555555; } #content { border: 1px solid #000000; background-color: #DFDFDF; } #mw-panel.mw-sidebar { border: 1px solid #000000; background: #DFDFDF; padding: 10px; } a:link, a:visited { color: #1e1e1e; text-decoration: none; border-bottom:1px solid #1e1e1e; } .vector-menu-portal .vector-menu-content li a:visited, .vector-menu-portal .vector-menu-content li a { color: #1e1e1e; } .vector-menu-tabs li a { color: #1e1e1e; } .vector-menu-tabs li { background-image: linear-gradient(to top,#7f7f7f 0,#aaaaaa 1px,#dfdfdf 100%); background-position: left bottom; background-repeat: repeat-x; float: left; display: block; height: 100%; margin: 0; padding: 0; line-height: 1.125em; white-space: nowrap; } .vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading { background-image: none; } /* Wikitables */ .wikitable { background-color: #dfdfdf; color: #282828; border: 1px solid #a2a9b1; float: right; clear: right; width: 295px; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: #aaaaaa; text-align: center; } 9fe1edb0d8153dd266ad919a8405debbcee0b709 File:Wiki header.png 6 7 8 2022-11-26T00:12:11Z Werewire 2 may or may not replace this later wikitext text/x-wiki == Summary == may or may not replace this later 5dba86fce50d062a302973ee76dbf5e143965f56 File:Castkid.png 6 8 10 2022-11-26T00:55:03Z Werewire 2 1st kid cast image wikitext text/x-wiki == Summary == 1st kid cast image 97a1b37644f7f683335d08dda97e449671645f4c File:Castkidwithcape.png 6 9 11 2022-11-26T00:55:59Z Werewire 2 2nd and current cast image for kid wikitext text/x-wiki == Summary == 2nd and current cast image for kid c3486df7fc0a565ff46b28260954a36b86f04d99 File:KidSitting.PNG 6 10 16 2022-11-26T04:22:31Z Werewire 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Kid 0 11 17 2022-11-26T04:31:25Z Werewire 2 basic page for kid, roughly the page outline to aim for wikitext text/x-wiki {| class="wikitable" |+ |- !- |- | [[File:Castkidwithcape.png|frameless|center]] |- |''"Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!"'' |- |'''First Appearance:''' Page 1, 2/2/2022 |- |'''Status: Alive''' |- |'''Highlight Color: None''' |- |'''Nicknames: None''' |- |'''Relationships:''' Dr. Zeller (Friend), Daisy (Friend), Ball Pit Beast (Friend) Ashley (Friend), Brian (Friend), Chantal (Friend), Stephen Bass (Enemy), AI (Friend), HP (Friend) |- |'''Likes:''' |- |'''Dislikes:''' |} Kid or "You" is a grey child with three eyes created by Stephen Bass in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them. == Summary == -To be added == Trivia == -To be added == Gallery == <gallery> Castkid.png|Kid Cast Image KidSitting.png|Sitting :-] </gallery> == References == -To Be Added 2a66b8e5de05c48b21d98f80478445e74b2012a5 18 17 2022-11-26T04:32:37Z Werewire 2 /* Gallery */ wikitext text/x-wiki {| class="wikitable" |+ |- !- |- | [[File:Castkidwithcape.png|frameless|center]] |- |''"Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!"'' |- |'''First Appearance:''' Page 1, 2/2/2022 |- |'''Status: Alive''' |- |'''Highlight Color: None''' |- |'''Nicknames: None''' |- |'''Relationships:''' Dr. Zeller (Friend), Daisy (Friend), Ball Pit Beast (Friend) Ashley (Friend), Brian (Friend), Chantal (Friend), Stephen Bass (Enemy), AI (Friend), HP (Friend) |- |'''Likes:''' |- |'''Dislikes:''' |} Kid or "You" is a grey child with three eyes created by Stephen Bass in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them. == Summary == -To be added == Trivia == -To be added == Gallery == <gallery> File:Castkid.png|Kid Cast Image File:KidSitting.PNG|Sitting :-] </gallery> == References == -To Be Added 9eb1ec3efb47a55b02ff6e005ac97e35a199e550 19 18 2022-11-26T04:33:37Z Werewire 2 wikitext text/x-wiki {| class="wikitable" |+ |- !- |- | [[File:Castkidwithcape.png|frameless|center]] |- |''"Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!"'' |- |'''First Appearance:''' Page 1, 2/2/2022 |- |'''Status: Alive''' |- |'''Highlight Color: None''' |- |'''Nicknames: None''' |- |'''Relationships:''' Dr. Zeller (Friend), Daisy (Friend), Ball Pit Beast (Friend) Ashley (Friend), Brian (Friend), Chantal (Friend), Stephen Bass (Enemy), AI (Friend), HP (Friend) |- |'''Likes:''' |- |'''Dislikes:''' |} Kid or "You" is a grey child with three eyes created by [[Stephen Bass]] in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them. == Summary == -To be added == Trivia == -To be added == Gallery == <gallery> File:Castkid.png|Kid Cast Image File:KidSitting.PNG|Sitting :-] </gallery> == References == -To Be Added 4e51e234ee8958d8bc5b431fe01a6f6b6672e000 24 19 2022-11-26T05:18:32Z Werewire 2 wikitext text/x-wiki {| class="wikitable" |+ |- !- |- | [[File:Castkidwithcape.png|frameless|center]] |- |''"Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!"'' |- |'''First Appearance:''' Page 1, 2/2/2022 |- |'''Status: Alive''' |- |'''Highlight Color: None''' |- |'''Nicknames: None''' |- |'''Relationships:''' Dr. Zeller (Friend), Daisy (Friend), Ball Pit Beast (Friend) Ashley (Friend), Brian (Friend), Chantal (Friend), Stephen Bass (Enemy), AI (Friend), HP (Friend) |- |'''Likes:''' |- |'''Dislikes:''' |} Kid or "You" is a grey child with three eyes created by [[Stephen Bass]] in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them. == Summary == -To be added == Trivia == -To be added == Gallery == <gallery> File:Castkid.png|Kid Cast Image File:KidSitting.PNG|Sitting :-] </gallery> == References == -To Be Added [[Category:Characters]] 1bd91eb73f5c46d65fbf2c9d86c7eb3aaa4fab6b 25 24 2022-11-26T05:19:27Z Werewire 2 wikitext text/x-wiki {| class="wikitable" |+ |- !- |- | [[File:Castkidwithcape.png|frameless|center]] |- |''"Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!"'' |- |'''First Appearance:''' Page 1, 2/2/2022 |- |'''Status: Alive''' |- |'''Highlight Color: None''' |- |'''Nicknames: None''' |- |'''Relationships:''' Dr. Zeller (Friend), Daisy (Friend), Ball Pit Beast (Friend) Ashley (Friend), Brian (Friend), Chantal (Friend), Stephen Bass (Enemy), AI (Friend), HP (Friend) |- |'''Likes:''' |- |'''Dislikes:''' |} '''Kid''' or "You" is a grey child with three eyes created by [[Stephen Bass]] in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them. == Summary == -To be added == Trivia == -To be added == Gallery == <gallery> File:Castkid.png|Kid Cast Image File:KidSitting.PNG|Sitting :-] </gallery> == References == -To Be Added [[Category:Characters]] 77a3b6f7d797d26a7b31139721776639162551cb File:Ashley 248.png 6 12 21 2022-11-26T04:57:18Z Werewire 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 User:Werewire 2 13 22 2022-11-26T05:02:14Z Werewire 2 create user page wikitext text/x-wiki {| class="wikitable" |+ !Meeeee :3 |- |[[File:Ashley 248.png|center|thumb|ooooo i wanna squish his cheeks so bad]] |- |'''Contact info Below:''' |- |Discord: Ichthyovenator#1917, Tumblr: Ballpitbeast |} Hiiii hiiii hiiiiiii 5ef60f42fb2657630c204cdca472102443616f33 File:Castashley.png 6 15 27 2022-11-26T07:33:41Z Werewire 2 1st ashley cast image wikitext text/x-wiki == Summary == 1st ashley cast image 92c49b6bea03bce045e06ed28ef450bafdfa53a5 File:Castashleywithbow.png 6 16 28 2022-11-26T07:34:18Z Werewire 2 2nd ashley cast image wikitext text/x-wiki == Summary == 2nd ashley cast image 1bc3f4f41ee2e97502b0601f7b899d48bf21c7ea File:Castashleycleaned.png 6 17 29 2022-11-26T07:34:59Z Werewire 2 3rd ashley cast image wikitext text/x-wiki == Summary == 3rd ashley cast image 92dde6e676aacd918f591a1e07fed68ccbb740c2 Ashley 0 18 30 2022-11-26T07:56:10Z Werewire 2 basic page setup wikitext text/x-wiki {| class="wikitable" |+ |- !- |- | [[File:Castashleycleaned.png|frameless|center]] |- |''"Quote"'' |- |'''First Appearance:''' |- |'''Status:''' |- |'''Highlight Color:''' |- |'''Nicknames: None''' |- |'''Relationships:''' |- |'''Likes:''' |- |'''Dislikes:''' |} Ashley is a biochemist who worked for EcopportunityX before people started dying because of HP being brought down. == Summary == -To be added == Trivia == -To be added == Gallery == <gallery> File:Castashley.png|Cast Image #1 File:Castashleywithbow.png|Cast Image #2 File:Ashley_248.png|Cutie.... </gallery> == References == -To Be Added 37852eb2ce272c826e7ab05b523fb92e7c35469f 31 30 2022-11-26T07:59:55Z Werewire 2 added some minor details wikitext text/x-wiki {| class="wikitable" |+ |- !- |- | [[File:Castashleycleaned.png|frameless|center]] |- |''"Quote"'' |- |'''First Appearance:''' Page 39, 2/22/2022 |- |'''Status:''' Alive |- |'''Highlight Color:''' #82007d |- |'''Nicknames: None''' |- |'''Relationships:''' |- |'''Likes:''' |- |'''Dislikes:''' |} Ashley is a biochemist who worked for EcopportunityX before people started dying because of HP being brought down. == Summary == -To be added == Trivia == -To be added == Gallery == <gallery> File:Castashley.png|Cast Image #1 File:Castashleywithbow.png|Cast Image #2 File:Ashley_248.png|Cutie.... </gallery> == References == -To Be Added d45b9992d81fcec241fa86380ed7b7bd65262182 32 31 2022-11-26T08:25:27Z Werewire 2 Trivia update wikitext text/x-wiki {| class="wikitable" |+ |- !- |- | [[File:Castashleycleaned.png|frameless|center]] |- |''"Quote"'' |- |'''First Appearance:''' Page 39, 2/22/2022 |- |'''Status:''' Alive |- |'''Highlight Color:''' #82007d |- |'''Nicknames: None''' |- |'''Relationships:''' |- |'''Likes:''' |- |'''Dislikes:''' |} Ashley is a biochemist who worked for EcopportunityX before people started dying because of HP being brought down. == Summary == -To be added == Trivia == * Even though we don't know much about any character's appearance, we do know that ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>. == Gallery == <gallery> File:Castashley.png|Cast Image #1 File:Castashleywithbow.png|Cast Image #2 File:Ashley_248.png|Cutie.... </gallery> == References == * https://artfight.net/character/2230960.ashley<ref name=":0" /> 0f1362e158a14b73e6fdd33743123e4537d237e2 33 32 2022-11-26T08:25:55Z Werewire 2 wikitext text/x-wiki {| class="wikitable" |+ |- !- |- | [[File:Castashleycleaned.png|frameless|center]] |- |''"Quote"'' |- |'''First Appearance:''' Page 39, 2/22/2022 |- |'''Status:''' Alive |- |'''Highlight Color:''' #82007d |- |'''Nicknames: None''' |- |'''Relationships:''' |- |'''Likes:''' |- |'''Dislikes:''' |} Ashley is a biochemist who worked for EcopportunityX before people started dying because of HP being brought down. == Summary == -To be added == Trivia == * Even though we don't know much about any character's appearance, we do know that ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>. == Gallery == <gallery> File:Castashley.png|Cast Image #1 File:Castashleywithbow.png|Cast Image #2 File:Ashley_248.png|Cutie.... </gallery> == References == c24f442d142e6c090c27c03104db77bf6e2c74f1 34 33 2022-11-26T08:45:28Z Werewire 2 quote addition wikitext text/x-wiki {| class="wikitable" |+ |- !- |- | [[File:Castashleycleaned.png|frameless|center]] |- |''"The AI got sick of us, so they’re sending us to hell now."'' |- |'''First Appearance:''' Page 39, 2/22/2022 |- |'''Status:''' Alive |- |'''Highlight Color:''' #82007d |- |'''Nicknames: None''' |- |'''Relationships:''' |- |'''Likes:''' |- |'''Dislikes:''' |} Ashley is a biochemist who worked for EcopportunityX before people started dying because of HP being brought down. == Summary == -To be added == Trivia == * Even though we don't know much about any character's appearance, we do know that ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>. == Gallery == <gallery> File:Castashley.png|Cast Image #1 File:Castashleywithbow.png|Cast Image #2 File:Ashley_248.png|Cutie.... </gallery> == References == 384f536069c90a5664995b3bd55168374a167e69 35 34 2022-11-26T09:01:04Z Werewire 2 wikitext text/x-wiki {| class="wikitable" |+ |- !- |- | [[File:Castashleycleaned.png|frameless|center]] |- |''"The AI got sick of us, so they’re sending us to hell now."'' |- |'''First Appearance:''' Page 39, 2/22/2022 |- |'''Status:''' Alive |- |'''Highlight Color:''' #82007d |- |'''Nicknames: None''' |- |'''Relationships:''' |- |'''Likes:''' |- |'''Dislikes:''' |} Ashley is a biochemist who worked for EcopportunityX before people started dying because of HP being brought down. == Summary == -To be added == Trivia == * Even though we don't know much about any character's appearance, we do know that ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>. == Gallery == <gallery> File:Castashley.png|Cast Image #1 File:Castashleywithbow.png|Cast Image #2 File:Ashley_248.png|Cutie.... </gallery> == References == <references /> [[Category:Characters]] 310e867213857ecea036fca7bb18d6d63954b5d7 37 35 2022-11-26T09:23:32Z Werewire 2 wikitext text/x-wiki {| class="wikitable" |+ |- !- |- | [[File:Castashleycleaned.png|frameless|center]] |- |''"The AI got sick of us, so they’re sending us to hell now."'' |- |'''First Appearance:''' Page 39, 2/22/2022 |- |'''Status:''' Alive |- |'''Highlight Color:''' #82007d |- |'''Nicknames: None''' |- |'''Relationships:''' |- |'''Likes:''' |- |'''Dislikes:''' |} Ashley is a biochemist who worked for EcopportunityX before people started dying because of HP being brought down. There's a purple stain on his labcoat from a pen exploding on him. == Summary == -To be added == Trivia == * Even though we don't know much about any character's appearance, we do know that ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>. == Gallery == <gallery> File:Castashley.png|Cast Image #1 File:Castashleywithbow.png|Cast Image #2 File:Ashley_248.png|Cutie.... </gallery> == References == <references /> [[Category:Characters]] 3ba74f4348efbebde390e595e6832e99c6b02e16 44 37 2022-11-26T21:39:47Z Werewire 2 updated to be using a template instead wikitext text/x-wiki {{Infobox/Character page | name = Ashley | image = Castashleycleaned.png | quote = The AI got sick of us, so they’re sending us to hell now. | first_appearance = Page 39, 2/22/2022 | status = Alive | highlight_color = <!-- without # --> 82007d | nicknames = None | relationships = | likes = | dislikes = | introduction = Ashley is a biochemist who worked for EcopportunityX before people started dying because of HP being brought down. | summary = -To be added | trivia = * Even though we don't know much about any character's appearance, we do know that Ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>. | gallery = <gallery> File:Castashley.png|Cast Image #1 File:Castashleywithbow.png|Cast Image #2 File:Ashley_248.png|Cutie.... </gallery> }} ce65e6ea49923ee6c80e40929f96e88bad2cc345 72 44 2022-11-27T08:07:47Z Werewire 2 wikitext text/x-wiki {{Infobox/Character page | name = Ashley | image = Castashleycleaned.png | quote = The AI got sick of us, so they’re sending us to hell now. | first_appearance = Page 39, 2/22/2022 | status = Alive | highlight_color = <!-- without # --> 82007d | nicknames = None | relationships = | likes = | dislikes = | introduction = Ashley is a biochemist who worked for EcopportunityX before people started dying because of HP being brought down. A pen exploded on him which stained his labcoat purple. | summary = -To be added | trivia = * Even though we don't know much about any character's appearance, we do know that Ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>. | gallery = <gallery> File:Castashley.png|Cast Image #1 File:Castashleywithbow.png|Cast Image #2 File:Ashley_248.png|Cutie.... </gallery> }} a4e6a1def63f61b7edfcdc08474afe234443b454 78 72 2022-11-27T14:19:52Z Bunquest 6 pronouns for my little meow meow wikitext text/x-wiki {{Infobox/Character page | name = Ashley | image = Castashleycleaned.png | quote = The AI got sick of us, so they’re sending us to hell now. | first_appearance = Page 39, 2/22/2022 | status = Alive | highlight_color = <!-- without # --> 82007d | pronouns = He/they | nicknames = None | relationships = | likes = | dislikes = | introduction = Ashley is a biochemist who worked for EcopportunityX before people started dying because of HP being brought down. A pen exploded on him which stained his labcoat purple. | summary = -To be added | trivia = * Even though we don't know much about any character's appearance, we do know that Ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>. | gallery = <gallery> File:Castashley.png|Cast Image #1 File:Castashleywithbow.png|Cast Image #2 File:Ashley_248.png|Cutie.... </gallery> }} 4a94d029c631c77690c8d8267c9296ae7af2cc28 Main Page 0 1 36 23 2022-11-26T09:13:37Z Werewire 2 wikitext text/x-wiki __NOTOC__ == Welcome to {{SITENAME}}! == This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. === For visitors of this wiki: === This wiki will contain helpful information about the characters and setting of EOX. Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Character page template|template page]] Things that are planned to be included is: * Basic Plot summaries * Personality * Relationships * Highlight colors * Images from the comics * All the cast images '''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''. ==== I have a problem with/suggestion for the wiki! ==== If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact: * [[User:Werewire|Me]] * Any future "mods" === Additional Links === * [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom * [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts 640ce3321f4cf2a703fadaf59046aaf4e717a5f1 45 36 2022-11-26T21:49:27Z Werewire 2 link update since page was delete wikitext text/x-wiki __NOTOC__ == Welcome to {{SITENAME}}! == This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. === For visitors of this wiki: === This wiki will contain helpful information about the characters and setting of EOX. Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]] Things that are planned to be included is: * Basic Plot summaries * Personality * Relationships * Highlight colors * Images from the comics * All the cast images '''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''. ==== I have a problem with/suggestion for the wiki! ==== If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact: * [[User:Werewire|Me]] * Any future "mods" === Additional Links === * [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom * [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts f39f905516e1a9dce9fa2a29b7239af845ec77a9 Template:Infobox 10 19 38 2022-11-26T18:03:09Z PercyUK 3 Created page with "{{#invoke:Infobox|infobox}}<noinclude> Uses [[Module:Infobox|Wikipedia infobox]] {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 .5em 1em; width: 270px; border: 1px solid #eaecf0; background: #f8f9fa; | title = title | above = above | subheader = subheader | subheader2 = subheader2 <br> ―— | image = image | caption = caption | image2 = image2 | caption2 = caption2 <br> ―— | header1 = header1 | label2 = label2 | data2 = data..." wikitext text/x-wiki {{#invoke:Infobox|infobox}}<noinclude> Uses [[Module:Infobox|Wikipedia infobox]] {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 .5em 1em; width: 270px; border: 1px solid #eaecf0; background: #f8f9fa; | title = title | above = above | subheader = subheader | subheader2 = subheader2 <br> ―— | image = image | caption = caption | image2 = image2 | caption2 = caption2 <br> ―— | header1 = header1 | label2 = label2 | data2 = data2 | data3 = data3 <br> ―— | below = below }} <pre> {{Infobox | title = title | above = above | subheader = subheader | subheader2 = subheader2 | image = image | caption = caption | image2 = image2 | caption2 = caption2 | header1 = header1 | label2 = label2 | data2 = data2 | data3 = data3 | below = below }} </pre> <br clear=all> ; bodystyle {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 .5em 1em; width: 270px; border: 1px solid #eaecf0; background:beige | title = title | above = above | subheader = subheader | subheader2 = subheader2 | image = image | caption = caption | image2 = image2 | caption2 = caption2 | header1 = header1 | label2 = label2 | data2 = data2 | data3 = data3 | below = below }} <pre> {{Infobox | bodystyle = background:beige | title = title | above = above | subheader = subheader | subheader2 = subheader2 | image = image | caption = caption | image2 = image2 | caption2 = caption2 | header1 = header1 | label2 = label2 | data2 = data2 | data3 = data3 | below = below }} </pre> <br clear=all> ; titlestyle {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 .5em 1em; width: 270px; border: 1px solid #eaecf0; background: #f8f9fa; | titlestyle = background:beige | title = title | above = above | subheader = subheader | subheader2 = subheader2 | image = image | caption = caption | image2 = image2 | caption2 = caption2 | header1 = header1 | label2 = label2 | data2 = data2 | data3 = data3 | below = below }} <pre> {{Infobox | titlestyle = background:beige | title = title | above = above | subheader = subheader | subheader2 = subheader2 | image = image | caption = caption | image2 = image2 | caption2 = caption2 | header1 = header1 | label2 = label2 | data2 = data2 | data3 = data3 | below = below }} </pre> <br clear=all> ; abovestyle {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 .5em 1em; width: 270px; border: 1px solid #eaecf0; background: #f8f9fa; | abovestyle = background:beige | title = title | above = above | subheader = subheader | subheader2 = subheader2 | image = image | caption = caption | image2 = image2 | caption2 = caption2 | header1 = header1 | label2 = label2 | data2 = data2 | data3 = data3 | below = below }} <pre> {{Infobox | abovestyle = background:beige | title = title | above = above | subheader = subheader | subheader2 = subheader2 | image = image | caption = caption | image2 = image2 | caption2 = caption2 | header1 = header1 | label2 = label2 | data2 = data2 | data3 = data3 | below = below }} </pre> <br clear=all> ; imagestyle {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 .5em 1em; width: 270px; border: 1px solid #eaecf0; background: #f8f9fa; | imagestyle = background:beige | title = title | above = above | subheader = subheader | subheader2 = subheader2 | image = image | caption = caption | image2 = image2 | caption2 = caption2 | header1 = header1 | label2 = label2 | data2 = data2 | data3 = data3 | below = below }} <pre> {{Infobox | imagestyle = background:beige | title = title | above = above | subheader = subheader | subheader2 = subheader2 | image = image | caption = caption | image2 = image2 | caption2 = caption2 | header1 = header1 | label2 = label2 | data2 = data2 | data3 = data3 | below = below }} </pre> <br clear=all> ; captionstyle {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 .5em 1em; width: 270px; border: 1px solid #eaecf0; background: #f8f9fa; | captionstyle = background:beige | title = title | above = above | subheader = subheader | subheader2 = subheader2 | image = image | caption = caption | image2 = image2 | caption2 = caption2 | header1 = header1 | label2 = label2 | data2 = data2 | data3 = data3 | below = below }} <pre> {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 .5em 1em; width: 270px; border: 1px solid #eaecf0; background: #f8f9fa; | captionstyle = background:beige | title = title | above = above | subheader = subheader | subheader2 = subheader2 | image = image | caption = caption | image2 = image2 | caption2 = caption2 | header1 = header1 | label2 = label2 | data2 = data2 | data3 = data3 | below = below }} </pre> <br clear=all> ; rowstyle {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 .5em 1em; width: 270px; border: 1px solid #eaecf0; background: #f8f9fa; | rowstyle2 = background:beige | title = title | above = above | subheader = subheader | subheader2 = subheader2 | image = image | caption = caption | image2 = image2 | caption2 = caption2 | header1 = header1 | label2 = label2 | data2 = data2 | data3 = data3 | below = below }} <pre> {{Infobox | rowstyle2 = background:beige | title = title | above = above | subheader = subheader | subheader2 = subheader2 | image = image | caption = caption | image2 = image2 | caption2 = caption2 | header1 = header1 | label2 = label2 | data2 = data2 | data3 = data3 | below = below }} </pre> <br clear=all> ; headerstyle {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 .5em 1em; width: 270px; border: 1px solid #eaecf0; background: #f8f9fa; | headerstyle = background:beige | title = title | above = above | subheader = subheader | subheader2 = subheader2 | image = image | caption = caption | image2 = image2 | caption2 = caption2 | header1 = header1 | label2 = label2 | data2 = data2 | data3 = data3 | below = below }} <pre> {{Infobox | headerstyle = background:beige | title = title | above = above | subheader = subheader | subheader2 = subheader2 | image = image | caption = caption | image2 = image2 | caption2 = caption2 | header1 = header1 | label2 = label2 | data2 = data2 | data3 = data3 | below = below }} </pre> <br clear=all> ; labelstyle {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 .5em 1em; width: 270px; border: 1px solid #eaecf0; background: #f8f9fa; | labelstyle = background:beige | title = title | above = above | subheader = subheader | subheader2 = subheader2 | image = image | caption = caption | image2 = image2 | caption2 = caption2 | header1 = header1 | label2 = label2 | data2 = data2 | data3 = data3 | below = below }} <pre> {{Infobox | labelstyle = background:beige | title = title | above = above | subheader = subheader | subheader2 = subheader2 | image = image | caption = caption | image2 = image2 | caption2 = caption2 | header1 = header1 | label2 = label2 | data2 = data2 | data3 = data3 | below = below }} </pre> <br clear=all> ; datastyle {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 .5em 1em; width: 270px; border: 1px solid #eaecf0; background: #f8f9fa; | datastyle = background:beige | title = title | above = above | subheader = subheader | subheader2 = subheader2 | image = image | caption = caption | image2 = image2 | caption2 = caption2 | header1 = header1 | label2 = label2 | data2 = data2 | data3 = data3 | below = below }} <pre> {{Infobox | datastyle = background:beige | title = title | above = above | subheader = subheader | subheader2 = subheader2 | image = image | caption = caption | image2 = image2 | caption2 = caption2 | header1 = header1 | label2 = label2 | data2 = data2 | data3 = data3 | below = below }} </pre> <br clear=all> ; belowstyle {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 .5em 1em; width: 270px; border: 1px solid #eaecf0; background: #f8f9fa; | belowstyle = background:beige | title = title | above = above | subheader = subheader | subheader2 = subheader2 | image = image | caption = caption | image2 = image2 | caption2 = caption2 | header1 = header1 | label2 = label2 | data2 = data2 | data3 = data3 | below = below }} <pre> {{Infobox | belowstyle = background:beige | title = title | above = above | subheader = subheader | subheader2 = subheader2 | image = image | caption = caption | image2 = image2 | caption2 = caption2 | header1 = header1 | label2 = label2 | data2 = data2 | data3 = data3 | below = below }} </pre> </noinclude> 0d39f26bc4810ede55aed40e881ef49bd8cc2b48 Template:Infobox/Character page 10 20 39 2022-11-26T18:24:23Z PercyUK 3 Created page with "{{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #{{{highlight_color|aaa}}}; border-collapse: collapse; | abovestyle = background: #{{{highlight_color|aaa}}}; color: white; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 0 5px 10px; | datastyle = vertical-ali..." wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #{{{highlight_color|aaa}}}; border-collapse: collapse; | abovestyle = background: #{{{highlight_color|aaa}}}; color: white; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }} | data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }} | label2 = 1st Appearance: | data2 = {{{first_appearance|}}} | label3 = Status: | data3 = {{{status|}}} | label4 = Highlight Color: | data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }} | label5 = Nicknames: | data5 = {{{nicknames|}}} | label6 = Relationships: | data6 = {{{relationships|}}} | label7 = Likes: | data7 = {{{likes|}}} | label8 = Dislikes: | data8 = {{{dislikes|}}} }} {{{introduction|}}} == Summary == {{{summary|-To be added}}} == Trivia == {{{trivia|-To be added}}} == Gallery == {{{gallery|}}} == References == <references /> [[Category:Characters]] 8bfdf604f76af0d8c55ddfe8c173a694a793da5c 41 39 2022-11-26T19:00:52Z PercyUK 3 wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #{{{highlight_color|aaa}}}; border-collapse: collapse; | abovestyle = background: #{{{highlight_color|aaa}}}; color: white; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }} | data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }} | label2 = 1st Appearance: | data2 = {{{first_appearance|}}} | label3 = Status: | data3 = {{{status|}}} | label4 = Highlight Color: | data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }} | label5 = Nicknames: | data5 = {{{nicknames|}}} | label6 = Relationships: | data6 = {{{relationships|}}} | label7 = Likes: | data7 = {{{likes|}}} | label8 = Dislikes: | data8 = {{{dislikes|}}} }} {{{introduction|}}} == Summary == {{{summary|-To be added}}} == Trivia == {{{trivia|-To be added}}} == Gallery == {{{gallery|}}} == References == <references /> [[Category:Characters]] <noinclude> {| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed" | '''Notes''' |- | * [[Template:Infobox/Character page/Example | Example page]] * Empty Template <pre> {{Infobox/Character page | name = | image = | quote = | first_appearance = | status = | highlight_color = <!-- without # --> | nicknames = | relationships = | likes = | dislikes = | introduction = | summary = | trivia = | gallery = }} </pre> * unused rows are hidden so leave blank * <code>highlight_color</code> sets border color - leave blank if no color to use default gray * template adds page to <code>Character</code> category |} </noinclude> fe098a11e6568d2daf2d5af7487ee9840aaa0867 56 41 2022-11-27T03:04:12Z Werewire 2 /* Gallery */ added images wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #{{{highlight_color|aaa}}}; border-collapse: collapse; | abovestyle = background: #{{{highlight_color|aaa}}}; color: white; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }} | data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }} | label2 = 1st Appearance: | data2 = {{{first_appearance|}}} | label3 = Status: | data3 = {{{status|}}} | label4 = Highlight Color: | data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }} | label5 = Nicknames: | data5 = {{{nicknames|}}} | label6 = Relationships: | data6 = {{{relationships|}}} | label7 = Likes: | data7 = {{{likes|}}} | label8 = Dislikes: | data8 = {{{dislikes|}}} }} {{{introduction|}}} == Summary == {{{summary|-To be added}}} == Trivia == {{{trivia|-To be added}}} == Gallery == {{{gallery| <gallery> Yourdrawing.png|Kid's drawing Zeller1.png|They got fuckign chomped Faceless Zeller.PNG|Greeting each other :-) </gallery> }}} == References == <references /> [[Category:Characters]] <noinclude> {| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed" | '''Notes''' |- | * [[Template:Infobox/Character page/Example | Example page]] * Empty Template <pre> {{Infobox/Character page | name = | image = | quote = | first_appearance = | status = | highlight_color = <!-- without # --> | nicknames = | relationships = | likes = | dislikes = | introduction = | summary = | trivia = | gallery = }} </pre> * unused rows are hidden so leave blank * <code>highlight_color</code> sets border color - leave blank if no color to use default gray * template adds page to <code>Character</code> category |} </noinclude> c18884f1b92616c90ecb3947a68aaf2e806cc09b 57 56 2022-11-27T03:04:46Z Werewire 2 Reverted edits by [[Special:Contributions/Werewire|Werewire]] ([[User talk:Werewire|talk]]) to last revision by [[User:PercyUK|PercyUK]] wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #{{{highlight_color|aaa}}}; border-collapse: collapse; | abovestyle = background: #{{{highlight_color|aaa}}}; color: white; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }} | data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }} | label2 = 1st Appearance: | data2 = {{{first_appearance|}}} | label3 = Status: | data3 = {{{status|}}} | label4 = Highlight Color: | data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }} | label5 = Nicknames: | data5 = {{{nicknames|}}} | label6 = Relationships: | data6 = {{{relationships|}}} | label7 = Likes: | data7 = {{{likes|}}} | label8 = Dislikes: | data8 = {{{dislikes|}}} }} {{{introduction|}}} == Summary == {{{summary|-To be added}}} == Trivia == {{{trivia|-To be added}}} == Gallery == {{{gallery|}}} == References == <references /> [[Category:Characters]] <noinclude> {| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed" | '''Notes''' |- | * [[Template:Infobox/Character page/Example | Example page]] * Empty Template <pre> {{Infobox/Character page | name = | image = | quote = | first_appearance = | status = | highlight_color = <!-- without # --> | nicknames = | relationships = | likes = | dislikes = | introduction = | summary = | trivia = | gallery = }} </pre> * unused rows are hidden so leave blank * <code>highlight_color</code> sets border color - leave blank if no color to use default gray * template adds page to <code>Character</code> category |} </noinclude> fe098a11e6568d2daf2d5af7487ee9840aaa0867 73 57 2022-11-27T14:01:36Z Bunquest 6 wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #{{{highlight_color|aaa}}}; border-collapse: collapse; | abovestyle = background: #{{{highlight_color|aaa}}}; color: white; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }} | data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }} | label2 = 1st Appearance: | data2 = {{{first_appearance|}}} | label3 = Status: | data3 = {{{status|}}} | label4 = Highlight Color: | data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }} | label5 = Pronouns: | data5 = {{{pronouns|}}} | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = {{{relationships|}}} | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} {{{introduction|}}} == Summary == {{{summary|-To be added}}} == Trivia == {{{trivia|-To be added}}} == Gallery == {{{gallery|}}} == References == <references /> [[Category:Characters]] <noinclude> {| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed" | '''Notes''' |- | * [[Template:Infobox/Character page/Example | Example page]] * Empty Template <pre> {{Infobox/Character page | name = | image = | quote = | first_appearance = | status = | highlight_color = <!-- without # --> | nicknames = | relationships = | likes = | dislikes = | introduction = | summary = | trivia = | gallery = }} </pre> * unused rows are hidden so leave blank * <code>highlight_color</code> sets border color - leave blank if no color to use default gray * template adds page to <code>Character</code> category |} </noinclude> 708b20809236e0faa17bd8235747316a76c237a4 Template:Infobox/Character page/Example 10 21 40 2022-11-26T18:37:21Z PercyUK 3 Created page with "{{Infobox/Character page | name = Ashley | image = Castashleycleaned.png | quote = The AI got sick of us, so they’re sending us to hell now. | first_appearance = Page 39, 2/22/2022 | status = Alive | highlight_color = <!-- without # --> 82007d | nicknames = None | relationships = | likes = | dislikes = | introduction = Ashley is a biochemist who worked for EcopportunityX before people started dying be..." wikitext text/x-wiki {{Infobox/Character page | name = Ashley | image = Castashleycleaned.png | quote = The AI got sick of us, so they’re sending us to hell now. | first_appearance = Page 39, 2/22/2022 | status = Alive | highlight_color = <!-- without # --> 82007d | nicknames = None | relationships = | likes = | dislikes = | introduction = Ashley is a biochemist who worked for EcopportunityX before people started dying because of HP being brought down. | summary = -To be added | trivia = * Even though we don't know much about any character's appearance, we do know that Ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>. | gallery = <gallery> File:Castashley.png|Cast Image #1 File:Castashleywithbow.png|Cast Image #2 File:Ashley_248.png|Cutie.... </gallery> }} {| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed" | '''Source code''' |- | <pre> {{Infobox/Character page | name = Ashley | image = Castashleycleaned.png | quote = The AI got sick of us, so they’re sending us to hell now. | first_appearance = Page 39, 2/22/2022 | status = Alive | highlight_color = <!-- without # --> 82007d | nicknames = None | relationships = | likes = | dislikes = | introduction = Ashley is a biochemist who worked for EcopportunityX before people started dying because of HP being brought down. | summary = -To be added | trivia = * Even though we don't know much about any character's appearance, we do know that Ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>. | gallery = <gallery> File:Castashley.png|Cast Image #1 File:Castashleywithbow.png|Cast Image #2 File:Ashley_248.png|Cutie.... </gallery> }} </pre> |} 0496f98eb42983ec161f6ff9cc694db9318d8c53 User talk:Werewire 3 22 42 2022-11-26T19:18:09Z PercyUK 3 Created page with "== Template:Infobox == I have added the [[Template:Infobox|Wikipedia infobox]] which you might like to use to make creating pages easier/quicker. I have created a design for [[Character page template]] with [[Template:Infobox/Character page]] with [[Template:Infobox/Character page/Example|an example using Ashley]]. I like Highlight Color so used it to color the infobox borders. I have included Notes to explain how to use. <br> ~~~~" wikitext text/x-wiki == Template:Infobox == I have added the [[Template:Infobox|Wikipedia infobox]] which you might like to use to make creating pages easier/quicker. I have created a design for [[Character page template]] with [[Template:Infobox/Character page]] with [[Template:Infobox/Character page/Example|an example using Ashley]]. I like Highlight Color so used it to color the infobox borders. I have included Notes to explain how to use. <br> [[User:PercyUK|PercyUK]] ([[User talk:PercyUK|talk]]) 19:18, 26 November 2022 (UTC) 36ef3becd5e45a411dffacaa669f3bdaa2aee263 43 42 2022-11-26T21:32:30Z Werewire 2 Template:Infobox reply wikitext text/x-wiki == Template:Infobox == I have added the [[Template:Infobox|Wikipedia infobox]] which you might like to use to make creating pages easier/quicker. I have created a design for [[Character page template]] with [[Template:Infobox/Character page]] with [[Template:Infobox/Character page/Example|an example using Ashley]]. I like Highlight Color so used it to color the infobox borders. I have included Notes to explain how to use. <br> [[User:PercyUK|PercyUK]] ([[User talk:PercyUK|talk]]) 19:18, 26 November 2022 (UTC) oh my god thank you so much for this, i honestly had no idea how to make templates and use them. i really like the highlight color useage, i was wondering if something like that was possible to do! very glad i'm not going to be stuck making that stuff manually everytime like i was going to because i couldn't wrap my head around templates and stuff<br> [[User:Werewire|Werewire]] ([[User talk:Werewire|talk]]) 21:32, 26 November 2022 (UTC) e9d98007decdb16924afdea787b94309aeb73073 Kid 0 11 46 25 2022-11-26T22:05:37Z Werewire 2 updated to be using a template instead wikitext text/x-wiki {{Infobox/Character page | name = Kid | image = Castkidwithcape.png | quote = Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up! | first_appearance = Page 1, 2/2/2022 | status = Alive | highlight_color = <!-- without # --> | nicknames = None | relationships = Dr. Zeller (Friend), Daisy (Friend), Ball Pit Beast (Friend) Ashley (Friend), Brian (Friend), Chantal (Friend), Stephen Bass (Enemy), AI (Friend), HP (Friend) | likes = | dislikes = | introduction = '''Kid''' or "You" is a grey child with three eyes created by Stephen Bass in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them. | summary = -To be added | trivia = -To be added | gallery = <gallery> File:Castkid.png|Kid Cast Image File:KidSitting.PNG|Sitting :-] </gallery> }} == References == -To Be Added [[Category:Characters]] 7727b0412c3bde501b0b6e33e345d102fbb08d63 47 46 2022-11-26T22:08:38Z Werewire 2 wikitext text/x-wiki {{Infobox/Character page | name = Kid | image = Castkidwithcape.png | quote = Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up! | first_appearance = Page 1, 2/2/2022 | status = Alive | highlight_color = <!-- without # --> | nicknames = None | relationships = Dr. Zeller (Friend), Daisy (Friend), Ball Pit Beast (Friend) Ashley (Friend), Brian (Friend), Chantal (Friend), Stephen Bass (Enemy), AI (Friend), HP (Friend) | likes = | dislikes = | introduction = '''Kid''' or "You" is a grey child with three eyes created by Stephen Bass in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them. | summary = -To be added | trivia = -To be added | gallery = <gallery> File:Castkid.png|Kid Cast Image File:KidSitting.PNG|Sitting :-] </gallery> }} == References == -To Be Added [[Category:Characters]] 608911333493fe29a4ac2065864bd0b635993b7d 48 47 2022-11-26T22:09:24Z Werewire 2 wikitext text/x-wiki {{Infobox/Character page | name = Kid | image = Castkidwithcape.png | quote = Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up! | first_appearance = Page 1, 2/2/2022 | status = Alive | highlight_color = <!-- without # --> | nicknames = None | relationships = Dr. Zeller (Friend), Daisy (Friend), Ball Pit Beast (Friend) Ashley (Friend), Brian (Friend), Chantal (Friend), Stephen Bass (Enemy), AI (Friend), HP (Friend) | likes = | dislikes = | introduction = '''Kid''' or "You" is a grey child with three eyes created by Stephen Bass in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them. | summary = -To be added | trivia = -To be added | gallery = <gallery> File:Castkid.png|Kid Cast Image File:KidSitting.PNG|Sitting :-] </gallery> }} d07f90b94a0a06055d855e384d3856c79e010207 49 48 2022-11-26T22:15:45Z Werewire 2 kid doesn't have a highlight color, but since for now it seems that no highlight color doesn't seem to work they'll use their cast image border color wikitext text/x-wiki {{Infobox/Character page | name = Kid | image = Castkidwithcape.png | quote = Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up! | first_appearance = Page 1, 2/2/2022 | status = Alive | highlight_color = <!-- without # --> 191919 | nicknames = None | relationships = Dr. Zeller (Friend), Daisy (Friend), Ball Pit Beast (Friend) Ashley (Friend), Brian (Friend), Chantal (Friend), Stephen Bass (Enemy), AI (Friend), HP (Friend) | likes = | dislikes = | introduction = '''Kid''' or "You" is a grey child with three eyes created by Stephen Bass in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them. | summary = -To be added | trivia = -To be added | gallery = <gallery> File:Castkid.png|Kid Cast Image File:KidSitting.PNG|Sitting :-] </gallery> }} a6eb91241af975cfb2ae9a2834f6d31892dbd7f7 50 49 2022-11-26T22:27:20Z Werewire 2 wikitext text/x-wiki {{Infobox/Character page | name = Kid | image = Castkidwithcape.png | quote = Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up! | first_appearance = Page 1, 2/2/2022 | status = Alive | highlight_color = <!-- without # --> 191919 | nicknames = None | relationships = Dr. Zeller (Friend), Daisy (Friend), Ball Pit Beast (Friend) Ashley (Friend), Brian (Friend), Chantal (Friend), Stephen Bass (Enemy), AI (Friend), HP (Friend) | likes = | dislikes = | introduction = '''Kid''' or "You" is a grey child with three eyes created by [[Stephen Bass]] in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them. | summary = -To be added | trivia = -To be added | gallery = <gallery> File:Castkid.png|Kid Cast Image File:KidSitting.PNG|Sitting :-] </gallery> }} ec7ad7e8af28c8b93944fba8e3939dd304f4ab53 75 50 2022-11-27T14:04:21Z Bunquest 6 pronouns wikitext text/x-wiki {{Infobox/Character page | name = Kid | image = Castkidwithcape.png | quote = Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up! | first_appearance = Page 1, 2/2/2022 | status = Alive | highlight_color = <!-- without # --> 191919 | pronouns = Any | nicknames = None | relationships = Dr. Zeller (Friend), Daisy (Friend), Ball Pit Beast (Friend) Ashley (Friend), Brian (Friend), Chantal (Friend), Stephen Bass (Enemy), AI (Friend), HP (Friend) | likes = | dislikes = | introduction = '''Kid''' or "You" is a grey child with three eyes created by [[Stephen Bass]] in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them. | summary = -To be added | trivia = -To be added | gallery = <gallery> File:Castkid.png|Kid Cast Image File:KidSitting.PNG|Sitting :-] </gallery> }} 3a03fc93f98bdae6cbf4ece5f39091f2c8ec7b81 File:Castzellerborder.png 6 23 51 2022-11-26T22:36:26Z Werewire 2 cast image #1? wikitext text/x-wiki == Summary == cast image #1? 50805321feaacc78b2d3eab61d8b880f7487aeaf Dr. Zeller 0 24 52 2022-11-26T23:51:00Z Werewire 2 basic page setup wikitext text/x-wiki {{Infobox/Character page | name = Dr. Zeller | image = Castzellerborder.png | quote = They asked my name. I couldn’t tell the kid my name. Because if I did, they’d ask what their name is. And I’d have to tell them they don’t have one. And they’d ask if they can have one. And I’d have to name them. | first_appearance = Page 8, 2/3/2022 | status = deceased | highlight_color = <!-- without # --> 00ffff | nicknames = | relationships = | likes = | dislikes = | introduction = '''Dr. Zeller''' was a scientist who worked at EcopportunityX before they were killed prior to the webcomic's beginning. Very Little is known about them besides from the few things [[Kid]] and [[Ashley]] have said about them | summary = -To be added | trivia = -To be added | gallery = -To be added }} 798d3e70c202ea9c7fbe2af47431bf6c6702575d 58 52 2022-11-27T03:07:46Z Werewire 2 /* Gallery */ added images to the right page this time, baby wikitext text/x-wiki {{Infobox/Character page | name = Dr. Zeller | image = Castzellerborder.png | quote = They asked my name. I couldn’t tell the kid my name. Because if I did, they’d ask what their name is. And I’d have to tell them they don’t have one. And they’d ask if they can have one. And I’d have to name them. | first_appearance = Page 8, 2/3/2022 | status = deceased | highlight_color = <!-- without # --> 00ffff | nicknames = | relationships = | likes = | dislikes = | introduction = '''Dr. Zeller''' was a scientist who worked at EcopportunityX before they were killed prior to the webcomic's beginning. Very Little is known about them besides from the few things [[Kid]] and [[Ashley]] have said about them | summary = -To be added | trivia = -To be added | gallery = <gallery> Yourdrawing.png|Kid's drawing Zeller1.png|They got fuckign chomped Faceless Zeller.PNG|Greeting each other :-) </gallery> }} 816d6eba85a23b67b269287d58745f4d830b2e96 File:Zeller1.png 6 25 53 2022-11-27T02:50:24Z Werewire 2 zeller's body from page 8 wikitext text/x-wiki == Summary == zeller's body from page 8 ac38f45183be5915b70f8d064e14134abd4e10b3 File:Yourdrawing.png 6 26 54 2022-11-27T02:53:16Z Werewire 2 kid's drawing of zeller from page 4 wikitext text/x-wiki == Summary == kid's drawing of zeller from page 4 64c20ee490695f36d37207a122dcb62bb80959d8 File:Faceless Zeller.PNG 6 27 55 2022-11-27T03:02:40Z Werewire 2 memory(?) of zeller from page 108 wikitext text/x-wiki == Summary == memory(?) of zeller from page 108 0faee88a7b3d4de0f58cc84765335b3d4e54437c File:Castbass.png 6 28 59 2022-11-27T03:11:35Z Werewire 2 1st cast image for bass wikitext text/x-wiki == Summary == 1st cast image for bass fafbf1234ade217c1cf0a515393307dd48fd6b78 File:Castbassend.png 6 29 60 2022-11-27T03:12:57Z Werewire 2 2nd bass cast image wikitext text/x-wiki == Summary == 2nd bass cast image c6b180021291ad913d2adc8d25ccd369801ff9c8 File:Pg 54 panel 3.png 6 30 61 2022-11-27T04:09:20Z Werewire 2 get fucked wikitext text/x-wiki == Summary == get fucked feca628f5b969ac2088080d47426e51c61a31948 File:Pg 112 panel 2.png 6 31 62 2022-11-27T04:14:11Z Werewire 2 brian's analysis of his insecurities which are "glaringly obvious" wikitext text/x-wiki == Summary == brian's analysis of his insecurities which are "glaringly obvious" 912ffbc4deb2250f8eb9f9af80533d58687e20b3 Stephen Bass 0 32 63 2022-11-27T04:23:29Z Werewire 2 basic page setup with some additional info wikitext text/x-wiki {{Infobox/Character page | name = Stephen Bass | image = Castbass.png | quote = ...This is all your fault, you know. If it wasn’t for your little deformity-- the focus group wouldn’t have had such a negative response! | first_appearance = Page 53, 3/7/2022 | status = deceased | highlight_color = <!-- without # --> ff0000 | nicknames = Stevie | relationships = | likes = | dislikes = | introduction = '''Stephen Bass''' was the CEO of EcopportunityX, he caused the end of his company due to desperation because end of the fiscal year was coming up and [[Higher Power (HP)|HP]] was brought down. He was killed by [[Brian]] on page 93. | summary = -to be added | trivia = * Bass attempted to use Brian's phone to text himself messages that said that they were still friends.<ref>https://ecopportunityx.cfw.me/comics/130/</ref> * Interestingly, with Bass' death we have no other way to learn more about Dr. Zeller since Ashley, Brian, and Chantal barely knew them.<sup>[Citation Needed]</sup> | gallery = <gallery> Castbassend.png|2nd cast image, can you see why i didn't use this. Pg 54 panel 3.png|Getting hit with green ball Pg 112 panel 2.png|Most pathetic child kicker ever </gallery> }} f95518f4ac015b972df0b9efe816ec9ceca64f0c 64 63 2022-11-27T04:34:14Z Sunnymatsu 5 wikitext text/x-wiki {{Infobox/Character page | name = Stephen Bass | image = Castbass.png | quote = ...This is all your fault, you know. If it wasn’t for your little deformity-- the focus group wouldn’t have had such a negative response! | first_appearance = Page 53, 3/7/2022 | status = deceased | highlight_color = <!-- without # --> ff0000 | nicknames = Stevie | relationships = | likes = | dislikes = | introduction = '''Stephen Bass''' was the CEO of EcopportunityX, he caused the end of his company due to desperation because end of the fiscal year was coming up and [[Higher Power (HP)|HP]] was brought down. He was killed by [[Brian]] on page 93. | summary = -to be added | trivia = * Bass attempted to use Brian's phone to text himself messages that said that they were still friends.<ref>https://ecopportunityx.cfw.me/comics/130/</ref> * Bass owned a blu-ray copy of The Big Bang Theory: The Complete Series, that he kept hidden under his bed.<ref>https://ecopportunityx.cfw.me/comics/105/</ref> * Interestingly, with Bass' death we have no other way to learn more about Dr. Zeller since Ashley, Brian, and Chantal barely knew them.<sup>[Citation Needed]</sup> | gallery = <gallery> Castbassend.png|2nd cast image, can you see why i didn't use this. Pg 54 panel 3.png|Getting hit with green ball Pg 112 panel 2.png|Most pathetic child kicker ever </gallery> }} bdd7b391717306c5975a7d69e22cd0b13eb98069 76 64 2022-11-27T14:05:40Z Bunquest 6 of course you have a caved in skull and pronouns (added pronouns lol) wikitext text/x-wiki {{Infobox/Character page | name = Stephen Bass | image = Castbass.png | quote = ...This is all your fault, you know. If it wasn’t for your little deformity-- the focus group wouldn’t have had such a negative response! | first_appearance = Page 53, 3/7/2022 | status = deceased | highlight_color = <!-- without # --> ff0000 | pronouns = He/him | nicknames = Stevie | relationships = | likes = | dislikes = | introduction = '''Stephen Bass''' was the CEO of EcopportunityX, he caused the end of his company due to desperation because end of the fiscal year was coming up and [[Higher Power (HP)|HP]] was brought down. He was killed by [[Brian]] on page 93. | summary = -to be added | trivia = * Bass attempted to use Brian's phone to text himself messages that said that they were still friends.<ref>https://ecopportunityx.cfw.me/comics/130/</ref> * Bass owned a blu-ray copy of The Big Bang Theory: The Complete Series, that he kept hidden under his bed.<ref>https://ecopportunityx.cfw.me/comics/105/</ref> * Interestingly, with Bass' death we have no other way to learn more about Dr. Zeller since Ashley, Brian, and Chantal barely knew them.<sup>[Citation Needed]</sup> | gallery = <gallery> Castbassend.png|2nd cast image, can you see why i didn't use this. Pg 54 panel 3.png|Getting hit with green ball Pg 112 panel 2.png|Most pathetic child kicker ever </gallery> }} 8a66a5dadcc0a689b453b9fdb4c534e5f59cca6f File:Castbrian.png 6 33 65 2022-11-27T05:30:35Z Werewire 2 1st brian cast image wikitext text/x-wiki == Summary == 1st brian cast image cdbc17909637f99e749458de02dd9483db77136e File:Castbrianreal.png 6 34 66 2022-11-27T05:32:53Z Werewire 2 2nd brian cast image wikitext text/x-wiki == Summary == 2nd brian cast image 8b06f1a16369a525e776997742cd6cc1c332482e File:Castbriancleaned.png 6 35 67 2022-11-27T05:33:23Z Werewire 2 3rd brian cast image wikitext text/x-wiki == Summary == 3rd brian cast image e32aafe510b39abaaddae5dd3058fd2a00ef3897 File:Castai.png 6 36 68 2022-11-27T05:46:36Z Werewire 2 1st ai cast image wikitext text/x-wiki == Summary == 1st ai cast image e334214d389328904c4ac79bee62b6a68724495f File:Pg 111 panel 4.png 6 37 69 2022-11-27T05:50:23Z Werewire 2 brian killing bass wikitext text/x-wiki == Summary == brian killing bass c77b945e1bfd147e30dc7ebb19592e8140c5d356 Brian 0 38 70 2022-11-27T07:52:54Z Werewire 2 basic page setup with some additional info wikitext text/x-wiki {{Infobox/Character page | name = Brian | image = Castbriancleaned.png | quote = Plus I love eating big burgers. Makes me feel like those anime girls I see on Twitter. | first_appearance = Page 53, 3/7/2022 | status = Alive | highlight_color = <!-- without # --> ff7d7d | nicknames = | relationships = | likes = | dislikes = | introduction = '''Brian''' didn't work for EcopportunityX, they were a friend of Stephen Bass who got made into a brain in a jar. Bass, hoping to make them immortal with his project, forced them to stay on his desk with him until Kid stole them from him on page 56. With the help of AI and the rest of the main cast they get their body back on page 85 | summary = -To be added | trivia = * In brain form the text to speech voice they canonically use is Commodore Sam.<ref>https://ecopportunityx.cfw.me/comics/88/</ref> * The jar they were in had cameras on the top giving Brian 360 degrees of camera feed, and they couldn't be turned off.<sup>[1]</sup> * Brian seems to really like Ball Pit Beast, seeming particularly delighted at his appearance when they have their body again.<ref>https://ecopportunityx.cfw.me/comics/121/</ref> | gallery = <gallery> Castbrian.png|Brain in a jar form Castbrianreal.png|"I got my body back and all i got was this shirt" Pg 111 panel 4.png|Pipe murder win! </gallery> }} 4024bd424c9ebd1eeaaa0750bf558e1b8ce59c88 71 70 2022-11-27T07:56:43Z Werewire 2 wikitext text/x-wiki {{Infobox/Character page | name = Brian | image = Castbriancleaned.png | quote = Plus I love eating big burgers. Makes me feel like those anime girls I see on Twitter. | first_appearance = Page 53, 3/7/2022 | status = Alive | highlight_color = <!-- without # --> ff7d7d | nicknames = | relationships = | likes = | dislikes = | introduction = '''Brian''' didn't work for EcopportunityX, they were a friend of [[Stephen Bass]] who got made into a brain in a jar. Bass, hoping to make them immortal with his project, forced them to stay on his desk with him until [[Kid]] stole them from him on page 56. With the help of [[The Facility's AI|AI]] and the rest of the main cast they get their body back on page 85 | summary = -To be added | trivia = * In brain form the text to speech voice they canonically use is Commodore Sam.<ref>https://ecopportunityx.cfw.me/comics/88/</ref> * The jar they were in had cameras on the top giving Brian 360 degrees of camera feed, and they couldn't be turned off.<sup>[1]</sup> * Brian seems to really like [[Ball Pit Beast]], seeming particularly delighted at his appearance when they have their body again.<ref>https://ecopportunityx.cfw.me/comics/121/</ref> | gallery = <gallery> Castbrian.png|Brain in a jar form Castbrianreal.png|"I got my body back and all i got was this shirt" Pg 111 panel 4.png|Pipe murder win! </gallery> }} 3d1f3e67bb311c55929d9309f905ddd4b4f5f69f 74 71 2022-11-27T14:03:20Z Bunquest 6 added pronouns actually for real this time wikitext text/x-wiki {{Infobox/Character page | name = Brian | image = Castbriancleaned.png | quote = Plus I love eating big burgers. Makes me feel like those anime girls I see on Twitter. | first_appearance = Page 53, 3/7/2022 | status = Alive | highlight_color = <!-- without # --> ff7d7d | pronouns = They/them | nicknames = | relationships = | likes = | dislikes = | introduction = '''Brian''' didn't work for EcopportunityX, they were a friend of [[Stephen Bass]] who got made into a brain in a jar. Bass, hoping to make them immortal with his project, forced them to stay on his desk with him until [[Kid]] stole them from him on page 56. With the help of [[The Facility's AI|AI]] and the rest of the main cast they get their body back on page 85 | summary = -To be added | trivia = * In brain form the text to speech voice they canonically use is Commodore Sam.<ref>https://ecopportunityx.cfw.me/comics/88/</ref> * The jar they were in had cameras on the top giving Brian 360 degrees of camera feed, and they couldn't be turned off.<sup>[1]</sup> * Brian seems to really like [[Ball Pit Beast]], seeming particularly delighted at his appearance when they have their body again.<ref>https://ecopportunityx.cfw.me/comics/121/</ref> | gallery = <gallery> Castbrian.png|Brain in a jar form Castbrianreal.png|"I got my body back and all i got was this shirt" Pg 111 panel 4.png|Pipe murder win! </gallery> }} 5859771aa0a9b2551899f1316269bf078e4188dd File:Castchantal.png 6 39 77 2022-11-27T14:08:27Z Bunquest 6 Chantal's cast page portrait. wikitext text/x-wiki == Summary == Chantal's cast page portrait. 51ac4fe067bdfc2040cab553d85582c7e02f8259 Chantal 0 40 79 2022-11-27T14:21:14Z Bunquest 6 chantal :) wikitext text/x-wiki {{Infobox/Character page | name = Chantal | image = Castchantal.png | quote = But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up. | first_appearance = Page 77, 3/31/2022 | status = alive | pronouns = she/they | highlight_color = <!-- without # --> 0000ff | nicknames = | relationships = Kid, Ashley, Brian, Daisy (Friends) Stephen Bass (Former boss) An unnamed sister Unnamed parents | likes = Cheese puffs, artificial intelligence | dislikes = Biology classes, noisy environments | introduction = '''Chantal''' is a computer scientist working in the third floor offices at EcopportunityX. | summary = | trivia = | gallery = <gallery> </gallery> }} 93325d3517ffe9434f4f07324feec033ab7ce0c4 Brian 0 38 80 74 2022-11-27T14:28:00Z 108.45.54.135 0 edited gallery caption wikitext text/x-wiki {{Infobox/Character page | name = Brian | image = Castbriancleaned.png | quote = Plus I love eating big burgers. Makes me feel like those anime girls I see on Twitter. | first_appearance = Page 53, 3/7/2022 | status = Alive | highlight_color = <!-- without # --> ff7d7d | pronouns = They/them | nicknames = | relationships = | likes = | dislikes = | introduction = '''Brian''' didn't work for EcopportunityX, they were a friend of [[Stephen Bass]] who got made into a brain in a jar. Bass, hoping to make them immortal with his project, forced them to stay on his desk with him until [[Kid]] stole them from him on page 56. With the help of [[The Facility's AI|AI]] and the rest of the main cast they get their body back on page 85 | summary = -To be added | trivia = * In brain form the text to speech voice they canonically use is Commodore Sam.<ref>https://ecopportunityx.cfw.me/comics/88/</ref> * The jar they were in had cameras on the top giving Brian 360 degrees of camera feed, and they couldn't be turned off.<sup>[1]</sup> * Brian seems to really like [[Ball Pit Beast]], seeming particularly delighted at his appearance when they have their body again.<ref>https://ecopportunityx.cfw.me/comics/121/</ref> | gallery = <gallery> Castbrian.png|Brain in a jar form Castbrianreal.png|"I got my brain taken out and all I got was this hospital gown." Pg 111 panel 4.png|Pipe murder win! </gallery> }} ac173959be2d7ea587fd7bad571b08f30b920c09 112 80 2022-11-28T12:50:51Z Bunquest 6 re-formatted some sections, changed some wording wikitext text/x-wiki {{Infobox/Character page | name = Brian | image = Castbriancleaned.png | quote = Plus I love eating big burgers. Makes me feel like those anime girls I see on Twitter. | first_appearance = Page 53, 3/7/2022 | status = Alive | highlight_color = <!-- without # --> ff7d7d | pronouns = They/them | nicknames = | relationships = | likes = | dislikes = | introduction = '''Brian''' is a major character in EcopportunityX. They were a friend of [[Stephen Bass]] before the events of the comic. | summary = ===History=== Brian, unlike [[Ashley]] and [[Chantal]], did not work for EcopportunityX at all; rather, they were a friend of Bass's, having met him at a party. Bass, hoping to make them immortal with his project, forced them to stay on his desk with him until [[Kid]] stole them from him. With the help of [[The Facility's AI|AI]] and the rest of the group they get their body back. | trivia = * In brain form the text to speech voice they canonically use is Commodore Sam.<ref>https://ecopportunityx.cfw.me/comics/88/</ref> * The jar they were in had cameras on the top giving Brian 360 degrees of camera feed, and they couldn't be turned off.<sup>[1]</sup> * Brian seems to really like [[Ball Pit Beast]], seeming particularly delighted at his appearance when they have their body again.<ref>https://ecopportunityx.cfw.me/comics/121/</ref> | gallery = <gallery> Castbrian.png|Brain in a jar form Castbrianreal.png|"I got my brain taken out and all I got was this hospital gown." Pg 111 panel 4.png|Pipe murder win! </gallery> }} 9a794806e798c843f182a3b8ab5625d97d16fac2 Stephen Bass 0 32 81 76 2022-11-27T14:29:28Z 108.45.54.135 0 changed gallery image caption wikitext text/x-wiki {{Infobox/Character page | name = Stephen Bass | image = Castbass.png | quote = ...This is all your fault, you know. If it wasn’t for your little deformity-- the focus group wouldn’t have had such a negative response! | first_appearance = Page 53, 3/7/2022 | status = deceased | highlight_color = <!-- without # --> ff0000 | pronouns = He/him | nicknames = Stevie | relationships = | likes = | dislikes = | introduction = '''Stephen Bass''' was the CEO of EcopportunityX, he caused the end of his company due to desperation because end of the fiscal year was coming up and [[Higher Power (HP)|HP]] was brought down. He was killed by [[Brian]] on page 93. | summary = -to be added | trivia = * Bass attempted to use Brian's phone to text himself messages that said that they were still friends.<ref>https://ecopportunityx.cfw.me/comics/130/</ref> * Bass owned a blu-ray copy of The Big Bang Theory: The Complete Series, that he kept hidden under his bed.<ref>https://ecopportunityx.cfw.me/comics/105/</ref> * Interestingly, with Bass' death we have no other way to learn more about Dr. Zeller since Ashley, Brian, and Chantal barely knew them.<sup>[Citation Needed]</sup> | gallery = <gallery> Castbassend.png|His latest cast image. You can hazard to guess why it wasn't used. Pg 54 panel 3.png|Getting hit with green ball Pg 112 panel 2.png|Most pathetic child kicker ever </gallery> }} 49fbf5369e01ae5af125470f2ccc5e69a472f240 82 81 2022-11-27T14:30:40Z 108.45.54.135 0 wikitext text/x-wiki {{Infobox/Character page | name = Stephen Bass | image = Castbass.png | quote = ...This is all your fault, you know. If it wasn’t for your little deformity-- the focus group wouldn’t have had such a negative response! | first_appearance = Page 53, 3/7/2022 | status = deceased | highlight_color = <!-- without # --> ff0000 | pronouns = He/him | nicknames = Stevie | relationships = | likes = | dislikes = | introduction = '''Stephen Bass''' was the CEO of EcopportunityX, he caused the end of his company due to desperation because end of the fiscal year was coming up and [[Higher Power (HP)|HP]] was brought down. He was killed by [[Brian]] on page 93. | summary = -to be added | trivia = * Bass attempted to use Brian's phone to text himself messages that said that they were still friends.<ref>https://ecopportunityx.cfw.me/comics/130/</ref> * Bass owned a blu-ray copy of The Big Bang Theory: The Complete Series, that he kept hidden under his bed.<ref>https://ecopportunityx.cfw.me/comics/105/</ref> * Interestingly, with Bass' death we have no other way to learn more about Dr. Zeller since Ashley, Brian, and Chantal barely knew them.<sup>[Citation Needed]</sup> | gallery = <gallery> Castbassend.png|His latest cast image. You can hazard a guess as to why it wasn't used. Pg 54 panel 3.png|Getting hit with green ball Pg 112 panel 2.png|Most pathetic child kicker ever </gallery> }} f66866c2636ce894267c543e8cba9e1a350195a8 116 82 2022-11-28T12:59:01Z Bunquest 6 tweaked formatting + wording wikitext text/x-wiki {{Infobox/Character page | name = Stephen Bass | image = Castbass.png | quote = ...This is all your fault, you know. If it wasn’t for your little deformity-- the focus group wouldn’t have had such a negative response! | first_appearance = Page 53, 3/7/2022 | status = deceased | highlight_color = <!-- without # --> ff0000 | pronouns = He/him | nicknames = Stevie | relationships = | likes = | dislikes = | introduction = '''Stephen Bass''' is a major character in EcopportunityX. He was the CEO of EOX, and the one responsible for the disaster that befell the facility. | summary = Bass caused the end of his company due to desperation because end of the fiscal year was coming up and [[Higher Power (HP)|HP]] was brought down. He was killed by [[Brian]] on page 93. | trivia = * Bass attempted to use Brian's phone to text himself messages that said that they were still friends.<ref>https://ecopportunityx.cfw.me/comics/130/</ref> * Bass owned a blu-ray copy of The Big Bang Theory: The Complete Series, that he kept hidden under his bed.<ref>https://ecopportunityx.cfw.me/comics/105/</ref> * Interestingly, with Bass' death we have no other way to learn more about Dr. Zeller since Ashley, Brian, and Chantal barely knew them.<sup>[Citation Needed]</sup> | gallery = <gallery> Castbassend.png|His latest cast image. You can hazard a guess as to why it wasn't used. Pg 54 panel 3.png|Getting hit with green ball Pg 112 panel 2.png|Most pathetic child kicker ever </gallery> }} c49f318187052d8cbeef9827e92f135980e0c391 Dr. Zeller 0 24 83 58 2022-11-27T14:46:25Z Bunquest 6 wikitext text/x-wiki {{Infobox/Character page | name = Dr. Zeller | image = Castzellerborder.png | quote = They asked my name. I couldn’t tell the kid my name. Because if I did, they’d ask what their name is. And I’d have to tell them they don’t have one. And they’d ask if they can have one. And I’d have to name them. | first_appearance = Page 8, 2/3/2022 | status = deceased | pronouns = He/they | highlight_color = <!-- without # --> 00ffff | nicknames = | relationships = | likes = | dislikes = | introduction = '''Dr. Zeller''' was a scientist who worked at EcopportunityX before they were killed prior to the webcomic's beginning. Very Little is known about them besides from the few things [[Kid]] and [[Ashley]] have said about them | summary = -To be added | trivia = -To be added | gallery = <gallery> Yourdrawing.png|Kid's drawing Zeller1.png|They got fuckign chomped Faceless Zeller.PNG|Greeting each other :-) </gallery> }} 4d74ea497a0d23bfd1748d32b7156b58d1d9d0ab 85 83 2022-11-27T15:02:08Z Bunquest 6 fixed a couple of typos wikitext text/x-wiki {{Infobox/Character page | name = Dr. Zeller | image = Castzellerborder.png | quote = They asked my name. I couldn’t tell the kid my name. Because if I did, they’d ask what their name is. And I’d have to tell them they don’t have one. And they’d ask if they can have one. And I’d have to name them. | first_appearance = Page 8, 2/3/2022 | status = deceased | pronouns = He/they | highlight_color = <!-- without # --> 00ffff | nicknames = | relationships = | likes = | dislikes = | introduction = '''Dr. Zeller''' was a scientist who worked at EcopportunityX before they were killed prior to the webcomic's beginning. Very little is known about them besides from the few things [[Kid]] and [[Ashley]] have said about them. | summary = -To be added | trivia = -To be added | gallery = <gallery> Yourdrawing.png|Kid's drawing Zeller1.png|They got fucking chomped Faceless Zeller.PNG|Greeting each other :-) </gallery> }} 33408357b2bb5cdd2bb3ea896ae4de2b75dd1583 Chantal 0 40 84 79 2022-11-27T14:56:39Z Bunquest 6 more chantal :) wikitext text/x-wiki {{Infobox/Character page | name = Chantal | image = Castchantal.png | quote = But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up. | first_appearance = Page 77, 3/31/2022 | status = alive | pronouns = She/they | highlight_color = <!-- without # --> 0000ff | nicknames = | relationships = Kid, Ashley, Brian, Daisy (Friends) Stephen Bass (Former boss) An unnamed sister Unnamed parents | likes = Cheese puffs <ref name=":0">https://ecopportunityx.cfw.me/comics/80/</ref>, artificial intelligence <ref name=":1">https://ecopportunityx.cfw.me/comics/85/</ref> | dislikes = Biology classes <ref name=":2">https://ecopportunityx.cfw.me/comics/92/</ref>, noisy environments <ref name=":3">https://ecopportunityx.cfw.me/comics/114/</ref> | introduction = '''Chantal''' is a computer scientist working in the third floor offices at EcopportunityX. | summary = ===Working at EcopportunityX=== Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>. | trivia = | gallery = <gallery> </gallery> }} 403942b148dee2d6e36389e56fd6e46fedae4747 86 84 2022-11-27T20:46:58Z Bunquest 6 added summary sections wikitext text/x-wiki {{Infobox/Character page | name = Chantal | image = Castchantal.png | quote = But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up. | first_appearance = Page 77, 3/31/2022 | status = alive | pronouns = She/they | highlight_color = <!-- without # --> 0000ff | nicknames = | relationships = Kid, Ashley, Brian, Daisy (Friends) Stephen Bass (Former boss) An unnamed sister Unnamed parents | likes = Cheese puffs <ref name=":0">https://ecopportunityx.cfw.me/comics/80/</ref>, artificial intelligence <ref name=":1">https://ecopportunityx.cfw.me/comics/85/</ref> | dislikes = Biology classes <ref name=":2">https://ecopportunityx.cfw.me/comics/92/</ref>, noisy environments <ref name=":3">https://ecopportunityx.cfw.me/comics/114/</ref> | introduction = '''Chantal''' is a computer scientist working in the third floor offices at EcopportunityX. | summary = ===Working at EcopportunityX=== Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>. ===The Incident=== Shortly after [[HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles. Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>. | trivia = | gallery = <gallery> </gallery> }} 355ac3c4acc178a13480e78c6a33827495a0965a 94 86 2022-11-27T21:15:41Z Werewire 2 wikitext text/x-wiki {{Infobox/Character page | name = Chantal | image = Castchantalwithbow.png | quote = But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up. | first_appearance = Page 77, 3/31/2022 | status = alive | pronouns = She/they | highlight_color = <!-- without # --> 0000ff | nicknames = | relationships = Kid, Ashley, Brian, Daisy (Friends) Stephen Bass (Former boss) An unnamed sister Unnamed parents | likes = Cheese puffs <ref name=":0">https://ecopportunityx.cfw.me/comics/80/</ref>, artificial intelligence <ref name=":1">https://ecopportunityx.cfw.me/comics/85/</ref> | dislikes = Biology classes <ref name=":2">https://ecopportunityx.cfw.me/comics/92/</ref>, noisy environments <ref name=":3">https://ecopportunityx.cfw.me/comics/114/</ref> | introduction = '''Chantal''' is a computer scientist working in the third floor offices at EcopportunityX. | summary = ===Working at EcopportunityX=== Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>. ===The Incident=== Shortly after [[HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles. Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>. | trivia = | gallery = <gallery> Castchantal.png|1st cast image </gallery> }} 7411b5f96a5cb2f3ee5508c972ae8f81c45bb29e 104 94 2022-11-28T08:15:48Z Bunquest 6 updated gallery caption wikitext text/x-wiki {{Infobox/Character page | name = Chantal | image = Castchantalwithbow.png | quote = But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up. | first_appearance = Page 77, 3/31/2022 | status = alive | pronouns = She/they | highlight_color = <!-- without # --> 0000ff | nicknames = | relationships = Kid, Ashley, Brian, Daisy (Friends) Stephen Bass (Former boss) An unnamed sister Unnamed parents | likes = Cheese puffs <ref name=":0">https://ecopportunityx.cfw.me/comics/80/</ref>, artificial intelligence <ref name=":1">https://ecopportunityx.cfw.me/comics/85/</ref> | dislikes = Biology classes <ref name=":2">https://ecopportunityx.cfw.me/comics/92/</ref>, noisy environments <ref name=":3">https://ecopportunityx.cfw.me/comics/114/</ref> | introduction = '''Chantal''' is a computer scientist working in the third floor offices at EcopportunityX. | summary = ===Working at EcopportunityX=== Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>. ===The Incident=== Shortly after [[HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles. Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>. | trivia = | gallery = <gallery> Castchantal.png|First cast portrait (used from 4/1/22 to 4/2/22) </gallery> }} 5c6941e830d99bc9a5bfdae1eed09384420ba6b9 106 104 2022-11-28T08:49:14Z Bunquest 6 added more to summary wikitext text/x-wiki {{Infobox/Character page | name = Chantal | image = Castchantalwithbow.png | quote = But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up. | first_appearance = Page 77, 3/31/2022 | status = alive | pronouns = She/they | highlight_color = <!-- without # --> 0000ff | nicknames = | relationships = Kid, Ashley, Brian, Daisy (Friends) Stephen Bass (Former boss) An unnamed sister Unnamed parents | likes = Cheese puffs <ref name=":0">https://ecopportunityx.cfw.me/comics/80/</ref>, artificial intelligence <ref name=":1">https://ecopportunityx.cfw.me/comics/85/</ref> | dislikes = Biology classes <ref name=":2">https://ecopportunityx.cfw.me/comics/92/</ref>, noisy environments <ref name=":3">https://ecopportunityx.cfw.me/comics/114/</ref> | introduction = '''Chantal''' is a major character in EcopportunityX. She is a computer scientist working in the third floor offices. | summary = ===Working at EcopportunityX=== Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>. ===The Incident=== Shortly after [[HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles. Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>. ===Escaping the Facility=== Chantal remained under her desk until she was found by [[Kid]], [[Ashley]], [[Brian]] and [[Daisy]], who had been traversing through the cubicle maze themselves. After introductions were made, Chantal decided to join the group in the hopes of escaping the facility together. Giving Kid the pens from her desk and letting them carry her belongings in their pillowcase, she was about to set off with the rest of the group when she received a series of urgent emails from Bass. Realising Bass was aware of Brian’s location and that he wanted them returned, Chantal agreed not to take them back to his office. Instead, she replied to his emails in a manner reminiscent of how Brian would type, per their instruction. Eventually, the group managed to reach the first floor of the building and its exit, although they were unable to leave through the door. This greatly distressed Kid, and while Chantal and Ashley attempted to calm them down, they encountered [[The Facility's AI|the facility’s AI]] inhabiting Brian’s body. Chantal demonstrated an extensive knowledge of artificial intelligence in general, explaining how the AI might have reached self-actualisation to the rest of the group. While the group travelled back to the fifth floor to transfer Brian’s brain back into their body, Chantal offered to carry an exhausted Kid rather than them having to walk. Once back in their body, Brian was initially unable to stand on their own, needing Chantal (and eventually Ashley) to support them. Brian commented that Chantal was “about as tall as I thought”, which she found amusing <ref name=”:7”>https://ecopportunityx.cfw.me/comics/86/</ref>. The group made their way down to the basement of the building per the AI’s instructions, Brian eventually being able to stand on their own. | trivia = | gallery = <gallery> Castchantal.png|First cast portrait (used from 4/1/22 to 4/2/22) </gallery> }} 7c2b0180f1276c8460f6124140ccc926d6092fb7 108 106 2022-11-28T09:00:05Z Bunquest 6 fixed hp embed wikitext text/x-wiki {{Infobox/Character page | name = Chantal | image = Castchantalwithbow.png | quote = But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up. | first_appearance = Page 77, 3/31/2022 | status = alive | pronouns = She/they | highlight_color = <!-- without # --> 0000ff | nicknames = | relationships = Kid, Ashley, Brian, Daisy (Friends) Stephen Bass (Former boss) An unnamed sister Unnamed parents | likes = Cheese puffs <ref name=":0">https://ecopportunityx.cfw.me/comics/80/</ref>, artificial intelligence <ref name=":1">https://ecopportunityx.cfw.me/comics/85/</ref> | dislikes = Biology classes <ref name=":2">https://ecopportunityx.cfw.me/comics/92/</ref>, noisy environments <ref name=":3">https://ecopportunityx.cfw.me/comics/114/</ref> | introduction = '''Chantal''' is a major character in EcopportunityX. She is a computer scientist working in the third floor offices. | summary = ===Working at EcopportunityX=== Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>. ===The Incident=== Shortly after [[Higher Power (HP)|HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles. Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>. ===Escaping the Facility=== Chantal remained under her desk until she was found by [[Kid]], [[Ashley]], [[Brian]] and [[Daisy]], who had been traversing through the cubicle maze themselves. After introductions were made, Chantal decided to join the group in the hopes of escaping the facility together. Giving Kid the pens from her desk and letting them carry her belongings in their pillowcase, she was about to set off with the rest of the group when she received a series of urgent emails from Bass. Realising Bass was aware of Brian’s location and that he wanted them returned, Chantal agreed not to take them back to his office. Instead, she replied to his emails in a manner reminiscent of how Brian would type, per their instruction. Eventually, the group managed to reach the first floor of the building and its exit, although they were unable to leave through the door. This greatly distressed Kid, and while Chantal and Ashley attempted to calm them down, they encountered [[The Facility's AI|the facility’s AI]] inhabiting Brian’s body. Chantal demonstrated an extensive knowledge of artificial intelligence in general, explaining how the AI might have reached self-actualisation to the rest of the group. While the group travelled back to the fifth floor to transfer Brian’s brain back into their body, Chantal offered to carry an exhausted Kid rather than them having to walk. Once back in their body, Brian was initially unable to stand on their own, needing Chantal (and eventually Ashley) to support them. Brian commented that Chantal was “about as tall as I thought”, which she found amusing <ref name=”:7”>https://ecopportunityx.cfw.me/comics/86/</ref>. The group made their way down to the basement of the building per the AI’s instructions, Brian eventually being able to stand on their own. | trivia = | gallery = <gallery> Castchantal.png|First cast portrait (used from 4/1/22 to 4/2/22) </gallery> }} bacfaec1c84e24d3bc99271dbef66ce5353ef403 109 108 2022-11-28T12:33:56Z Bunquest 6 added more to summary wikitext text/x-wiki {{Infobox/Character page | name = Chantal | image = Castchantalwithbow.png | quote = But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up. | first_appearance = Page 77, 3/31/2022 | status = alive | pronouns = She/they | highlight_color = <!-- without # --> 0000ff | nicknames = | relationships = Kid, Ashley, Brian, Daisy (Friends) Stephen Bass (Former boss) An unnamed sister Unnamed parents | likes = Cheese puffs <ref name=":0">https://ecopportunityx.cfw.me/comics/80/</ref>, artificial intelligence <ref name=":1">https://ecopportunityx.cfw.me/comics/85/</ref> | dislikes = Biology classes <ref name=":2">https://ecopportunityx.cfw.me/comics/92/</ref>, noisy environments <ref name=":3">https://ecopportunityx.cfw.me/comics/114/</ref> | introduction = '''Chantal''' is a major character in EcopportunityX. She is a computer scientist working in the third floor offices. | summary = ===Working at EcopportunityX=== Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>. ===The Incident=== Shortly after [[Higher Power (HP)|HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles. Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>. ===Escaping the Tower=== Chantal remained under her desk until she was found by [[Kid]], [[Ashley]], [[Brian]] and [[Daisy]], who had been traversing through the cubicle maze themselves. After introductions were made, Chantal decided to join the group in the hopes of escaping the facility together. Giving Kid the pens from her desk and letting them carry her belongings in their pillowcase, she was about to set off with the rest of the group when she received a series of urgent emails from Bass. Realising Bass was aware of Brian’s location and that he wanted them returned, Chantal agreed not to take them back to his office. Instead, she replied to his emails in a manner reminiscent of how Brian would type, per their instruction. Eventually, the group managed to reach the first floor of the building and its exit, although they were unable to leave through the door. This greatly distressed Kid, and while Chantal and Ashley attempted to calm them down, they encountered [[The Facility's AI|the facility’s AI]] inhabiting Brian’s body. Chantal demonstrated an extensive knowledge of artificial intelligence in general, explaining how the AI might have reached self-actualisation to the rest of the group. While the group travelled back to the fifth floor to transfer Brian’s brain back into their body, Chantal offered to carry an exhausted Kid rather than them having to walk. Once back in their body, Brian was initially unable to stand on their own, needing Chantal (and eventually Ashley) to support them. Brian commented that Chantal was “about as tall as I thought”, which she found amusing <ref name=”:7”>https://ecopportunityx.cfw.me/comics/86/</ref>. The group made their way down to the basement of the building per the AI’s instructions, Brian eventually being able to stand on their own. The group eventually encountered HP, Chantal falling to her knees in disbelief when they identified themself as God. When Kid asked about Chantal’s sister, she was very concerned when HP couldn’t give a definitive answer as their perception was localised to the facility. Kid also asked what everyone’s most embarrassing secret was; HP was happy to answer ‘’this’’ question, revealing that Chantal performed poorly in school and accidentally taught her sister numerous swear words. Chantal responded, at least to the first comment, rather defensively, claiming ‘’”I got better once I started taking computer science classes!”’’. HP informed the group that someone would have to kill Bass in order to close the gateway they had come through and stop the further distortion of the facility. When Brian asserted that they would go through with it, Chantal tried to encourage them to formulate a plan before going through with it; they dismissed this idea, however. When Brian asked for her help, she refused adamantly, not caring whether or not Bass may have deserved it. While Brian went to carry out what had been asked of them, Chantal stayed with Ashley, Kid, and Daisy, standing protectively over the three of them while they waited for Brian. | trivia = | gallery = <gallery> Castchantal.png|First cast portrait (used from 4/1/22 to 4/2/22) </gallery> }} 7bc87405cdd8714e2b837681b0d7092adaf89eac 110 109 2022-11-28T12:34:29Z Bunquest 6 wikitext text/x-wiki {{Infobox/Character page | name = Chantal | image = Castchantalwithbow.png | quote = But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up. | first_appearance = Page 77, 3/31/2022 | status = alive | pronouns = She/they | highlight_color = <!-- without # --> 0000ff | nicknames = | relationships = Kid, Ashley, Brian, Daisy (Friends) Stephen Bass (Former boss) An unnamed sister Unnamed parents | likes = Cheese puffs <ref name=":0">https://ecopportunityx.cfw.me/comics/80/</ref>, artificial intelligence <ref name=":1">https://ecopportunityx.cfw.me/comics/85/</ref> | dislikes = Biology classes <ref name=":2">https://ecopportunityx.cfw.me/comics/92/</ref>, noisy environments <ref name=":3">https://ecopportunityx.cfw.me/comics/114/</ref> | introduction = '''Chantal''' is a major character in EcopportunityX. She is a computer scientist working in the third floor offices. | summary = ===Working at EcopportunityX=== Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>. ===The Incident=== Shortly after [[Higher Power (HP)|HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles. Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>. ===Escaping the Tower=== Chantal remained under her desk until she was found by [[Kid]], [[Ashley]], [[Brian]] and [[Daisy]], who had been traversing through the cubicle maze themselves. After introductions were made, Chantal decided to join the group in the hopes of escaping the facility together. Giving Kid the pens from her desk and letting them carry her belongings in their pillowcase, she was about to set off with the rest of the group when she received a series of urgent emails from Bass. Realising Bass was aware of Brian’s location and that he wanted them returned, Chantal agreed not to take them back to his office. Instead, she replied to his emails in a manner reminiscent of how Brian would type, per their instruction. Eventually, the group managed to reach the first floor of the building and its exit, although they were unable to leave through the door. This greatly distressed Kid, and while Chantal and Ashley attempted to calm them down, they encountered [[The Facility's AI|the facility’s AI]] inhabiting Brian’s body. Chantal demonstrated an extensive knowledge of artificial intelligence in general, explaining how the AI might have reached self-actualisation to the rest of the group. While the group travelled back to the fifth floor to transfer Brian’s brain back into their body, Chantal offered to carry an exhausted Kid rather than them having to walk. Once back in their body, Brian was initially unable to stand on their own, needing Chantal (and eventually Ashley) to support them. Brian commented that Chantal was “about as tall as I thought”, which she found amusing <ref name=”:7”>https://ecopportunityx.cfw.me/comics/86/</ref>. The group made their way down to the basement of the building per the AI’s instructions, Brian eventually being able to stand on their own. The group eventually encountered HP, Chantal falling to her knees in disbelief when they identified themself as God. When Kid asked about Chantal’s sister, she was very concerned when HP couldn’t give a definitive answer as their perception was localised to the facility. Kid also asked what everyone’s most embarrassing secret was; HP was happy to answer ‘’this’’ question, revealing that Chantal performed poorly in school and accidentally taught her sister numerous swear words. Chantal responded, at least to the first comment, rather defensively, claiming ''”I got better once I started taking computer science classes!”''. HP informed the group that someone would have to kill Bass in order to close the gateway they had come through and stop the further distortion of the facility. When Brian asserted that they would go through with it, Chantal tried to encourage them to formulate a plan before going through with it; they dismissed this idea, however. When Brian asked for her help, she refused adamantly, not caring whether or not Bass may have deserved it. While Brian went to carry out what had been asked of them, Chantal stayed with Ashley, Kid, and Daisy, standing protectively over the three of them while they waited for Brian. | trivia = | gallery = <gallery> Castchantal.png|First cast portrait (used from 4/1/22 to 4/2/22) </gallery> }} e85183706e3720b73ecbd86396ab914b25a5f268 111 110 2022-11-28T12:35:17Z Bunquest 6 wikitext text/x-wiki {{Infobox/Character page | name = Chantal | image = Castchantalwithbow.png | quote = But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up. | first_appearance = Page 77, 3/31/2022 | status = alive | pronouns = She/they | highlight_color = <!-- without # --> 0000ff | nicknames = | relationships = Kid, Ashley, Brian, Daisy (Friends) Stephen Bass (Former boss) An unnamed sister Unnamed parents | likes = Cheese puffs <ref name=":0">https://ecopportunityx.cfw.me/comics/80/</ref>, artificial intelligence <ref name=":1">https://ecopportunityx.cfw.me/comics/85/</ref> | dislikes = Biology classes <ref name=":2">https://ecopportunityx.cfw.me/comics/92/</ref>, noisy environments <ref name=":3">https://ecopportunityx.cfw.me/comics/114/</ref> | introduction = '''Chantal''' is a major character in EcopportunityX. She is a computer scientist who worked in the third floor offices. | summary = ===Working at EcopportunityX=== Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>. ===The Incident=== Shortly after [[Higher Power (HP)|HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles. Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>. ===Escaping the Tower=== Chantal remained under her desk until she was found by [[Kid]], [[Ashley]], [[Brian]] and [[Daisy]], who had been traversing through the cubicle maze themselves. After introductions were made, Chantal decided to join the group in the hopes of escaping the facility together. Giving Kid the pens from her desk and letting them carry her belongings in their pillowcase, she was about to set off with the rest of the group when she received a series of urgent emails from Bass. Realising Bass was aware of Brian’s location and that he wanted them returned, Chantal agreed not to take them back to his office. Instead, she replied to his emails in a manner reminiscent of how Brian would type, per their instruction. Eventually, the group managed to reach the first floor of the building and its exit, although they were unable to leave through the door. This greatly distressed Kid, and while Chantal and Ashley attempted to calm them down, they encountered [[The Facility's AI|the facility’s AI]] inhabiting Brian’s body. Chantal demonstrated an extensive knowledge of artificial intelligence in general, explaining how the AI might have reached self-actualisation to the rest of the group. While the group travelled back to the fifth floor to transfer Brian’s brain back into their body, Chantal offered to carry an exhausted Kid rather than them having to walk. Once back in their body, Brian was initially unable to stand on their own, needing Chantal (and eventually Ashley) to support them. Brian commented that Chantal was “about as tall as I thought”, which she found amusing <ref name=”:7”>https://ecopportunityx.cfw.me/comics/86/</ref>. The group made their way down to the basement of the building per the AI’s instructions, Brian eventually being able to stand on their own. The group eventually encountered HP, Chantal falling to her knees in disbelief when they identified themself as God. When Kid asked about Chantal’s sister, she was very concerned when HP couldn’t give a definitive answer as their perception was localised to the facility. Kid also asked what everyone’s most embarrassing secret was; HP was happy to answer ‘’this’’ question, revealing that Chantal performed poorly in school and accidentally taught her sister numerous swear words. Chantal responded, at least to the first comment, rather defensively, claiming ''”I got better once I started taking computer science classes!”''. HP informed the group that someone would have to kill Bass in order to close the gateway they had come through and stop the further distortion of the facility. When Brian asserted that they would go through with it, Chantal tried to encourage them to formulate a plan before going through with it; they dismissed this idea, however. When Brian asked for her help, she refused adamantly, not caring whether or not Bass may have deserved it. While Brian went to carry out what had been asked of them, Chantal stayed with Ashley, Kid, and Daisy, standing protectively over the three of them while they waited for Brian. | trivia = | gallery = <gallery> Castchantal.png|First cast portrait (used from 4/1/22 to 4/2/22) </gallery> }} 2e7f0a78ef9a08bd71f24bd8a015cbd0040d4552 114 111 2022-11-28T12:55:01Z Bunquest 6 wording tweaks wikitext text/x-wiki {{Infobox/Character page | name = Chantal | image = Castchantalwithbow.png | quote = But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up. | first_appearance = Page 77, 3/31/2022 | status = alive | pronouns = She/they | highlight_color = <!-- without # --> 0000ff | nicknames = | relationships = Kid, Ashley, Brian, Daisy (Friends) Stephen Bass (Former boss) An unnamed sister Unnamed parents | likes = Cheese puffs <ref name=":0">https://ecopportunityx.cfw.me/comics/80/</ref>, artificial intelligence <ref name=":1">https://ecopportunityx.cfw.me/comics/85/</ref> | dislikes = Biology classes <ref name=":2">https://ecopportunityx.cfw.me/comics/92/</ref>, noisy environments <ref name=":3">https://ecopportunityx.cfw.me/comics/114/</ref> | introduction = '''Chantal''' is a major character in EcopportunityX. She, alongside [[Ashley]], was hired by the facility, working as a computer scientist on the third floor offices prior to the events of the comic. | summary = ===Working at EcopportunityX=== Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>. ===The Incident=== Shortly after [[Higher Power (HP)|HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles. Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>. ===Escaping the Tower=== Chantal remained under her desk until she was found by [[Kid]], [[Ashley]], [[Brian]] and [[Daisy]], who had been traversing through the cubicle maze themselves. After introductions were made, Chantal decided to join the group in the hopes of escaping the facility together. Giving Kid the pens from her desk and letting them carry her belongings in their pillowcase, she was about to set off with the rest of the group when she received a series of urgent emails from Bass. Realising Bass was aware of Brian’s location and that he wanted them returned, Chantal agreed not to take them back to his office. Instead, she replied to his emails in a manner reminiscent of how Brian would type, per their instruction. Eventually, the group managed to reach the first floor of the building and its exit, although they were unable to leave through the door. This greatly distressed Kid, and while Chantal and Ashley attempted to calm them down, they encountered [[The Facility's AI|the facility’s AI]] inhabiting Brian’s body. Chantal demonstrated an extensive knowledge of artificial intelligence in general, explaining how the AI might have reached self-actualisation to the rest of the group. While the group travelled back to the fifth floor to transfer Brian’s brain back into their body, Chantal offered to carry an exhausted Kid rather than them having to walk. Once back in their body, Brian was initially unable to stand on their own, needing Chantal (and eventually Ashley) to support them. Brian commented that Chantal was “about as tall as I thought”, which she found amusing <ref name=”:7”>https://ecopportunityx.cfw.me/comics/86/</ref>. The group made their way down to the basement of the building per the AI’s instructions, Brian eventually being able to stand on their own. The group eventually encountered HP, Chantal falling to her knees in disbelief when they identified themself as God. When Kid asked about Chantal’s sister, she was very concerned when HP couldn’t give a definitive answer as their perception was localised to the facility. Kid also asked what everyone’s most embarrassing secret was; HP was happy to answer ‘’this’’ question, revealing that Chantal performed poorly in school and accidentally taught her sister numerous swear words. Chantal responded, at least to the first comment, rather defensively, claiming ''”I got better once I started taking computer science classes!”''. HP informed the group that someone would have to kill Bass in order to close the gateway they had come through and stop the further distortion of the facility. When Brian asserted that they would go through with it, Chantal tried to encourage them to formulate a plan before going through with it; they dismissed this idea, however. When Brian asked for her help, she refused adamantly, not caring whether or not Bass may have deserved it. While Brian went to carry out what had been asked of them, Chantal stayed with Ashley, Kid, and Daisy, standing protectively over the three of them while they waited for Brian. | trivia = | gallery = <gallery> Castchantal.png|First cast portrait (used from 4/1/22 to 4/2/22) </gallery> }} b3ae12baa9c7af598ffae62540e650d47e4f316a 127 114 2022-11-28T17:41:04Z Bunquest 6 fixed formatting + colours wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #82007d; border-collapse: collapse; | abovestyle = background: #82007d; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #0000ff; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #0000ff; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castchantalwithbow.png|frameless|200px|center|link=]] | data1 = "But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up." | label2 = First Appearance: | data2 = Page 77, 3/31/22 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = 0000ff | label5 = Pronouns: | data5 = She/they | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = Kid, Ashley, Brian, Daisy (Friends) Stephen Bass (Former boss) An unnamed sister Unnamed parents | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Chantal''' is a major character in EcopportunityX. She, alongside [[Ashley]], was hired by the facility, working as a computer scientist on the third floor offices prior to the events of the comic. == Summary == ===Working at EcopportunityX=== Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>. ===The Incident=== Shortly after [[Higher Power (HP)|HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles. Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>. ===Escaping the Tower=== Chantal remained under her desk until she was found by [[Kid]], [[Ashley]], [[Brian]] and [[Daisy]], who had been traversing through the cubicle maze themselves. After introductions were made, Chantal decided to join the group in the hopes of escaping the facility together. Giving Kid the pens from her desk and letting them carry her belongings in their pillowcase, she was about to set off with the rest of the group when she received a series of urgent emails from Bass. Realising Bass was aware of Brian’s location and that he wanted them returned, Chantal agreed not to take them back to his office. Instead, she replied to his emails in a manner reminiscent of how Brian would type, per their instruction. Eventually, the group managed to reach the first floor of the building and its exit, although they were unable to leave through the door. This greatly distressed Kid, and while Chantal and Ashley attempted to calm them down, they encountered [[The Facility's AI|the facility’s AI]] inhabiting Brian’s body. Chantal demonstrated an extensive knowledge of artificial intelligence in general, explaining how the AI might have reached self-actualisation to the rest of the group. While the group travelled back to the fifth floor to transfer Brian’s brain back into their body, Chantal offered to carry an exhausted Kid rather than them having to walk. Once back in their body, Brian was initially unable to stand on their own, needing Chantal (and eventually Ashley) to support them. Brian commented that Chantal was “about as tall as I thought”, which she found amusing <ref name=”:7”>https://ecopportunityx.cfw.me/comics/86/</ref>. The group made their way down to the basement of the building per the AI’s instructions, Brian eventually being able to stand on their own. The group eventually encountered HP, Chantal falling to her knees in disbelief when they identified themself as God. When Kid asked about Chantal’s sister, she was very concerned when HP couldn’t give a definitive answer as their perception was localised to the facility. Kid also asked what everyone’s most embarrassing secret was; HP was happy to answer ‘’this’’ question, revealing that Chantal performed poorly in school and accidentally taught her sister numerous swear words. Chantal responded, at least to the first comment, rather defensively, claiming ''”I got better once I started taking computer science classes!”''. HP informed the group that someone would have to kill Bass in order to close the gateway they had come through and stop the further distortion of the facility. When Brian asserted that they would go through with it, Chantal tried to encourage them to formulate a plan before going through with it; they dismissed this idea, however. When Brian asked for her help, she refused adamantly, not caring whether or not Bass may have deserved it. While Brian went to carry out what had been asked of them, Chantal stayed with Ashley, Kid, and Daisy, standing protectively over the three of them while they waited for Brian. == Trivia == == Gallery == <gallery> Castchantal.png|First cast portrait (used from 4/1/22 to 4/2/22) </gallery> == References == <references /> [[Category:Characters]] 7ef8b39fdaa7b3a55928150fb465a4c38e8f5521 128 127 2022-11-28T17:41:26Z Bunquest 6 wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #0000ff; border-collapse: collapse; | abovestyle = background: #82007d; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #0000ff; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #0000ff; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castchantalwithbow.png|frameless|200px|center|link=]] | data1 = "But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up." | label2 = First Appearance: | data2 = Page 77, 3/31/22 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = 0000ff | label5 = Pronouns: | data5 = She/they | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = Kid, Ashley, Brian, Daisy (Friends) Stephen Bass (Former boss) An unnamed sister Unnamed parents | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Chantal''' is a major character in EcopportunityX. She, alongside [[Ashley]], was hired by the facility, working as a computer scientist on the third floor offices prior to the events of the comic. == Summary == ===Working at EcopportunityX=== Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>. ===The Incident=== Shortly after [[Higher Power (HP)|HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles. Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>. ===Escaping the Tower=== Chantal remained under her desk until she was found by [[Kid]], [[Ashley]], [[Brian]] and [[Daisy]], who had been traversing through the cubicle maze themselves. After introductions were made, Chantal decided to join the group in the hopes of escaping the facility together. Giving Kid the pens from her desk and letting them carry her belongings in their pillowcase, she was about to set off with the rest of the group when she received a series of urgent emails from Bass. Realising Bass was aware of Brian’s location and that he wanted them returned, Chantal agreed not to take them back to his office. Instead, she replied to his emails in a manner reminiscent of how Brian would type, per their instruction. Eventually, the group managed to reach the first floor of the building and its exit, although they were unable to leave through the door. This greatly distressed Kid, and while Chantal and Ashley attempted to calm them down, they encountered [[The Facility's AI|the facility’s AI]] inhabiting Brian’s body. Chantal demonstrated an extensive knowledge of artificial intelligence in general, explaining how the AI might have reached self-actualisation to the rest of the group. While the group travelled back to the fifth floor to transfer Brian’s brain back into their body, Chantal offered to carry an exhausted Kid rather than them having to walk. Once back in their body, Brian was initially unable to stand on their own, needing Chantal (and eventually Ashley) to support them. Brian commented that Chantal was “about as tall as I thought”, which she found amusing <ref name=”:7”>https://ecopportunityx.cfw.me/comics/86/</ref>. The group made their way down to the basement of the building per the AI’s instructions, Brian eventually being able to stand on their own. The group eventually encountered HP, Chantal falling to her knees in disbelief when they identified themself as God. When Kid asked about Chantal’s sister, she was very concerned when HP couldn’t give a definitive answer as their perception was localised to the facility. Kid also asked what everyone’s most embarrassing secret was; HP was happy to answer ‘’this’’ question, revealing that Chantal performed poorly in school and accidentally taught her sister numerous swear words. Chantal responded, at least to the first comment, rather defensively, claiming ''”I got better once I started taking computer science classes!”''. HP informed the group that someone would have to kill Bass in order to close the gateway they had come through and stop the further distortion of the facility. When Brian asserted that they would go through with it, Chantal tried to encourage them to formulate a plan before going through with it; they dismissed this idea, however. When Brian asked for her help, she refused adamantly, not caring whether or not Bass may have deserved it. While Brian went to carry out what had been asked of them, Chantal stayed with Ashley, Kid, and Daisy, standing protectively over the three of them while they waited for Brian. == Trivia == == Gallery == <gallery> Castchantal.png|First cast portrait (used from 4/1/22 to 4/2/22) </gallery> == References == <references /> [[Category:Characters]] aede2c7c4a466244b8923993f40e07f450d3695c 129 128 2022-11-28T17:41:44Z Bunquest 6 wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #0000ff; border-collapse: collapse; | abovestyle = background: #0000ff; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #0000ff; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #0000ff; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castchantalwithbow.png|frameless|200px|center|link=]] | data1 = "But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up." | label2 = First Appearance: | data2 = Page 77, 3/31/22 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = 0000ff | label5 = Pronouns: | data5 = She/they | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = Kid, Ashley, Brian, Daisy (Friends) Stephen Bass (Former boss) An unnamed sister Unnamed parents | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Chantal''' is a major character in EcopportunityX. She, alongside [[Ashley]], was hired by the facility, working as a computer scientist on the third floor offices prior to the events of the comic. == Summary == ===Working at EcopportunityX=== Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>. ===The Incident=== Shortly after [[Higher Power (HP)|HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles. Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>. ===Escaping the Tower=== Chantal remained under her desk until she was found by [[Kid]], [[Ashley]], [[Brian]] and [[Daisy]], who had been traversing through the cubicle maze themselves. After introductions were made, Chantal decided to join the group in the hopes of escaping the facility together. Giving Kid the pens from her desk and letting them carry her belongings in their pillowcase, she was about to set off with the rest of the group when she received a series of urgent emails from Bass. Realising Bass was aware of Brian’s location and that he wanted them returned, Chantal agreed not to take them back to his office. Instead, she replied to his emails in a manner reminiscent of how Brian would type, per their instruction. Eventually, the group managed to reach the first floor of the building and its exit, although they were unable to leave through the door. This greatly distressed Kid, and while Chantal and Ashley attempted to calm them down, they encountered [[The Facility's AI|the facility’s AI]] inhabiting Brian’s body. Chantal demonstrated an extensive knowledge of artificial intelligence in general, explaining how the AI might have reached self-actualisation to the rest of the group. While the group travelled back to the fifth floor to transfer Brian’s brain back into their body, Chantal offered to carry an exhausted Kid rather than them having to walk. Once back in their body, Brian was initially unable to stand on their own, needing Chantal (and eventually Ashley) to support them. Brian commented that Chantal was “about as tall as I thought”, which she found amusing <ref name=”:7”>https://ecopportunityx.cfw.me/comics/86/</ref>. The group made their way down to the basement of the building per the AI’s instructions, Brian eventually being able to stand on their own. The group eventually encountered HP, Chantal falling to her knees in disbelief when they identified themself as God. When Kid asked about Chantal’s sister, she was very concerned when HP couldn’t give a definitive answer as their perception was localised to the facility. Kid also asked what everyone’s most embarrassing secret was; HP was happy to answer ‘’this’’ question, revealing that Chantal performed poorly in school and accidentally taught her sister numerous swear words. Chantal responded, at least to the first comment, rather defensively, claiming ''”I got better once I started taking computer science classes!”''. HP informed the group that someone would have to kill Bass in order to close the gateway they had come through and stop the further distortion of the facility. When Brian asserted that they would go through with it, Chantal tried to encourage them to formulate a plan before going through with it; they dismissed this idea, however. When Brian asked for her help, she refused adamantly, not caring whether or not Bass may have deserved it. While Brian went to carry out what had been asked of them, Chantal stayed with Ashley, Kid, and Daisy, standing protectively over the three of them while they waited for Brian. == Trivia == == Gallery == <gallery> Castchantal.png|First cast portrait (used from 4/1/22 to 4/2/22) </gallery> == References == <references /> [[Category:Characters]] e92d79bc4354d5ca39edb8e7155d57fa9941b1cb Main Page 0 1 87 45 2022-11-27T20:52:04Z Bunquest 6 edited headings wikitext text/x-wiki __NOTOC__ == Welcome to {{SITENAME}}! == This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. == For visitors of this wiki: == This wiki will contain helpful information about the characters and setting of EOX. Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]] Things that are planned to be included is: * Basic Plot summaries * Personality * Relationships * Highlight colors * Images from the comics * All the cast images '''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''. ==== I have a problem with/suggestion for the wiki! ==== If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact: * [[User:Werewire|Me]] * Any future "mods" === Additional Links === * [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom * [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts 75444816757121e552db641327e82f98d478e0ba Higher Power (HP) 0 41 88 2022-11-27T20:56:05Z Bunquest 6 made tha page. will add more later. if someone could add their icon thag would be gr8 wikitext text/x-wiki {{Infobox/Character page | name = Higher Power | image = | quote = Hi! I’m God! | first_appearance = Page 90, 4/13/2022 | status = alive | pronouns = Any | highlight_color = <!-- without # --> 000000 | nicknames = HP | relationships = | likes = | dislikes = | introduction = | summary = -To be added | trivia = -To be added | gallery = <gallery> </gallery> }} 10faf5162e4afad3291e85d767e7f1f58e33f7e7 89 88 2022-11-27T20:56:32Z Bunquest 6 fixed the hex code wikitext text/x-wiki {{Infobox/Character page | name = Higher Power | image = | quote = Hi! I’m God! | first_appearance = Page 90, 4/13/2022 | status = alive | pronouns = Any | highlight_color = <!-- without # --> ffffff | nicknames = HP | relationships = | likes = | dislikes = | introduction = | summary = -To be added | trivia = -To be added | gallery = <gallery> </gallery> }} 3416d2eeb677562fdf72019f85721c21b7bb2df3 91 89 2022-11-27T21:10:17Z Werewire 2 imagechamp wikitext text/x-wiki {{Infobox/Character page | name = Higher Power | image = Casthp.png | quote = Hi! I’m God! | first_appearance = Page 90, 4/13/2022 | status = alive | pronouns = Any | highlight_color = <!-- without # --> ffffff | nicknames = HP | relationships = | likes = | dislikes = | introduction = | summary = -To be added | trivia = -To be added | gallery = <gallery> </gallery> }} 68e0162334adf062be63199923924448a9fbb981 File:Casthp.png 6 42 90 2022-11-27T21:02:56Z Werewire 2 hp's one and only cast image wikitext text/x-wiki == Summary == hp's one and only cast image 52a5e3fc0d9ebf83d37e67e605ef2ed93011c91a File:Castchantal.png 6 39 92 77 2022-11-27T21:14:21Z Werewire 2 Werewire uploaded a new version of [[File:Castchantal.png]] wikitext text/x-wiki == Summary == Chantal's cast page portrait. 51ac4fe067bdfc2040cab553d85582c7e02f8259 File:Castchantalwithbow.png 6 43 93 2022-11-27T21:14:31Z Werewire 2 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Castaireal.png 6 44 95 2022-11-27T21:16:43Z Werewire 2 ai's second cast image wikitext text/x-wiki == Summary == ai's second cast image d4b4836365f11c505d71a98fc23260c888772394 File:Castballpitbeastbow.png 6 45 96 2022-11-27T21:17:32Z Werewire 2 bpb second cast image wikitext text/x-wiki == Summary == bpb second cast image e626bfb4a658b1c777485001e8a9bf1b0d0e4433 File:Castballpitbeast.png 6 46 97 2022-11-27T21:18:19Z Werewire 2 1st bpb cast image wikitext text/x-wiki == Summary == 1st bpb cast image 50bd147ff153a2fdf0a3b4712c18cc709b106985 File:Castdaisy.png 6 47 98 2022-11-27T21:20:35Z Werewire 2 daisy 2nd cast image wikitext text/x-wiki == Summary == daisy 2nd cast image 653290ef0336b661de3c7ab7966e281f42c346cc File:Castrobot.png 6 48 99 2022-11-27T21:22:24Z Werewire 2 daisy 1st cast image wikitext text/x-wiki == Summary == daisy 1st cast image c6ee85e133f973e1505289acdf8e135b61c3a404 The Facility's AI 0 49 100 2022-11-28T02:01:28Z Werewire 2 basic page setup wikitext text/x-wiki {{Infobox/Character page | name = AI | image = Castaireal.png | quote = I am not sure why. When I saw you, with your body taken away from you and left to decay, I felt… bad. I do not understand why I felt this way, as I was not designed to. Interrogation of this anomaly only lead to further confusion, which I was not equipped to resolve on my own. So I simply did… ‘what felt right. | first_appearance = | status = Alive | highlight_color = <!-- without # --> 191919 | pronouns = Any | nicknames = | relationships = | likes = | dislikes = | introduction = '''The Facility's AI''' was installed since the facility was opened since they were installed along with the internal computer systems. AI hasn't self-actualized yet so they have a lot of difficulty going against direct orders and priorities of their managers, managers in this case being [[Stephen Bass|Bass]]. | summary = -To be added | trivia = -To be added | gallery = <gallery> Castai.png|AI in Brian's body </gallery> }} 87e55edd095a7a277eb4b2e36c2395ebe3fd8e62 Template:Infobox/Character page 10 20 101 73 2022-11-28T07:22:38Z Werewire 2 added the pronouns section that lauren added to the empty template wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #{{{highlight_color|aaa}}}; border-collapse: collapse; | abovestyle = background: #{{{highlight_color|aaa}}}; color: white; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }} | data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }} | label2 = 1st Appearance: | data2 = {{{first_appearance|}}} | label3 = Status: | data3 = {{{status|}}} | label4 = Highlight Color: | data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }} | label5 = Pronouns: | data5 = {{{pronouns|}}} | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = {{{relationships|}}} | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} {{{introduction|}}} == Summary == {{{summary|-To be added}}} == Trivia == {{{trivia|-To be added}}} == Gallery == {{{gallery|}}} == References == <references /> [[Category:Characters]] <noinclude> {| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed" | '''Notes''' |- | * [[Template:Infobox/Character page/Example | Example page]] * Empty Template <pre> {{Infobox/Character page | name = | image = | quote = | first_appearance = | status = | highlight_color = <!-- without # --> | pronouns = | nicknames = | relationships = | likes = | dislikes = | introduction = | summary = | trivia = | gallery = }} </pre> * unused rows are hidden so leave blank * <code>highlight_color</code> sets border color - leave blank if no color to use default gray * template adds page to <code>Character</code> category |} </noinclude> 7e1a2ee1d2c0c366452a552016905731af8982fb 117 101 2022-11-28T13:46:20Z Bunquest 6 trying to set up text colours wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #{{{highlight_color|aaa}}}; border-collapse: collapse; | abovestyle = background: #{{{highlight_color|aaa}}}; color: white; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #{{{highlight_color|aaa}}}; hexToRGB(hightlight_color, alpha) { const r = parseInt(hightlight_color.slice(1, 3), 16); const g = parseInt(hex.slice(3, 5), 16); const b = parseInt(hex.slice(5, 7), 16); if (alpha) { return `rgba(${r}, ${g}, ${b}, ${alpha})`; } else { return `rgb(${r}, ${g}, ${b})`; } } color: if (r*0.299 + g*0.587 + b*0.114) > 186 use #000000 else use #ffffff; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }} | data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }} | label2 = First Appearance: | data2 = {{{first_appearance|}}} | label3 = Status: | data3 = {{{status|}}} | label4 = Highlight Color: | data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }} | label5 = Pronouns: | data5 = {{{pronouns|}}} | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = {{{relationships|}}} /*| label8 = Likes:*/ /*| data8 = {{{likes|}}}*/ /*| label9 = Dislikes:*/ /*| data9 = {{{dislikes|}}}*/ }} {{{introduction|}}} == Summary == {{{summary|-To be added}}} == Trivia == {{{trivia|-To be added}}} == Gallery == {{{gallery|}}} == References == <references /> [[Category:Characters]] <noinclude> {| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed" | '''Notes''' |- | * [[Template:Infobox/Character page/Example | Example page]] * Empty Template <pre> {{Infobox/Character page | name = | image = | quote = | first_appearance = | status = | highlight_color = <!-- without # --> | pronouns = | nicknames = | relationships = | likes = | dislikes = | introduction = | summary = | trivia = | gallery = }} </pre> * unused rows are hidden so leave blank * <code>highlight_color</code> sets border color - leave blank if no color to use default gray * template adds page to <code>Character</code> category |} </noinclude> 9c9ead240ef72472635966c0af4bbd38f51d26a9 118 117 2022-11-28T13:46:56Z Bunquest 6 wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #{{{highlight_color|aaa}}}; border-collapse: collapse; | abovestyle = background: #{{{highlight_color|aaa}}}; color: white; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #{{{highlight_color|aaa}}}; hexToRGB(hightlight_color, alpha) { const r = parseInt(hightlight_color.slice(1, 3), 16); const g = parseInt(hex.slice(3, 5), 16); const b = parseInt(hex.slice(5, 7), 16); if (alpha) { return `rgba(${r}, ${g}, ${b}, ${alpha})`; } else { return `rgb(${r}, ${g}, ${b})`; } } color: if (r*0.299 + g*0.587 + b*0.114) > 186 use #000000 else use #ffffff; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }} | data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }} | label2 = First Appearance: | data2 = {{{first_appearance|}}} | label3 = Status: | data3 = {{{status|}}} | label4 = Highlight Color: | data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }} | label5 = Pronouns: | data5 = {{{pronouns|}}} | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = {{{relationships|}}} | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} {{{introduction|}}} == Summary == {{{summary|-To be added}}} == Trivia == {{{trivia|-To be added}}} == Gallery == {{{gallery|}}} == References == <references /> [[Category:Characters]] <noinclude> {| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed" | '''Notes''' |- | * [[Template:Infobox/Character page/Example | Example page]] * Empty Template <pre> {{Infobox/Character page | name = | image = | quote = | first_appearance = | status = | highlight_color = <!-- without # --> | pronouns = | nicknames = | relationships = | likes = | dislikes = | introduction = | summary = | trivia = | gallery = }} </pre> * unused rows are hidden so leave blank * <code>highlight_color</code> sets border color - leave blank if no color to use default gray * template adds page to <code>Character</code> category |} </noinclude> 0ca7443b91023799a2b291b31aca088d98dedd22 119 118 2022-11-28T13:48:42Z Bunquest 6 wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #{{{highlight_color|aaa}}}; border-collapse: collapse; | abovestyle = background: #{{{highlight_color|aaa}}}; hexToRGB(hightlight_color, alpha) { const r = parseInt(hightlight_color.slice(1, 3), 16); const g = parseInt(hex.slice(3, 5), 16); const b = parseInt(hex.slice(5, 7), 16); if (alpha) { return `rgba(${r}, ${g}, ${b}, ${alpha})`; } else { return `rgb(${r}, ${g}, ${b})`; } } color: if (r*0.299 + g*0.587 + b*0.114) > 186 use #000000 else use #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }} | data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }} | label2 = First Appearance: | data2 = {{{first_appearance|}}} | label3 = Status: | data3 = {{{status|}}} | label4 = Highlight Color: | data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }} | label5 = Pronouns: | data5 = {{{pronouns|}}} | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = {{{relationships|}}} | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} {{{introduction|}}} == Summary == {{{summary|-To be added}}} == Trivia == {{{trivia|-To be added}}} == Gallery == {{{gallery|}}} == References == <references /> [[Category:Characters]] <noinclude> {| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed" | '''Notes''' |- | * [[Template:Infobox/Character page/Example | Example page]] * Empty Template <pre> {{Infobox/Character page | name = | image = | quote = | first_appearance = | status = | highlight_color = <!-- without # --> | pronouns = | nicknames = | relationships = | likes = | dislikes = | introduction = | summary = | trivia = | gallery = }} </pre> * unused rows are hidden so leave blank * <code>highlight_color</code> sets border color - leave blank if no color to use default gray * template adds page to <code>Character</code> category |} </noinclude> fbab20341655ab9d2fb2513540a2afa44d172996 120 119 2022-11-28T13:50:15Z Bunquest 6 wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #{{{highlight_color|aaa}}}; border-collapse: collapse; | abovestyle = background: #{{{highlight_color|aaa}}}; hexToRGB(hightlight_color, alpha) { const r = parseInt(hightlight_color.slice(1, 3), 16); const g = parseInt(hex.slice(3, 5), 16); const b = parseInt(hex.slice(5, 7), 16); if (alpha) { return `rgba(${r}, ${g}, ${b}, ${alpha})`; } else { return `rgb(${r}, ${g}, ${b})`; } } color: if (r*0.299 + g*0.587 + b*0.114) > 130 use #000000 else use #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }} | data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }} | label2 = First Appearance: | data2 = {{{first_appearance|}}} | label3 = Status: | data3 = {{{status|}}} | label4 = Highlight Color: | data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }} | label5 = Pronouns: | data5 = {{{pronouns|}}} | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = {{{relationships|}}} | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} {{{introduction|}}} == Summary == {{{summary|-To be added}}} == Trivia == {{{trivia|-To be added}}} == Gallery == {{{gallery|}}} == References == <references /> [[Category:Characters]] <noinclude> {| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed" | '''Notes''' |- | * [[Template:Infobox/Character page/Example | Example page]] * Empty Template <pre> {{Infobox/Character page | name = | image = | quote = | first_appearance = | status = | highlight_color = <!-- without # --> | pronouns = | nicknames = | relationships = | likes = | dislikes = | introduction = | summary = | trivia = | gallery = }} </pre> * unused rows are hidden so leave blank * <code>highlight_color</code> sets border color - leave blank if no color to use default gray * template adds page to <code>Character</code> category |} </noinclude> fe76cdb0c54d0928b7e77c306a50a4e5c30aa5a9 122 120 2022-11-28T16:00:37Z Bunquest 6 wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #{{{highlight_color|aaa}}}; border-collapse: collapse; | abovestyle = background: #{{{highlight_color|aaa}}}; hexToRGB(hightlight_color) { const r = parseInt(hightlight_color.slice(1, 3), 16); const g = parseInt(hex.slice(3, 5), 16); const b = parseInt(hex.slice(5, 7), 16); return `rgb(${r}, ${g}, ${b})`; } color: if (r*0.299 + g*0.587 + b*0.114) > 130 use #000000; else use #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }} | data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }} | label2 = First Appearance: | data2 = {{{first_appearance|}}} | label3 = Status: | data3 = {{{status|}}} | label4 = Highlight Color: | data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }} | label5 = Pronouns: | data5 = {{{pronouns|}}} | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = {{{relationships|}}} | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} {{{introduction|}}} == Summary == {{{summary|-To be added}}} == Trivia == {{{trivia|-To be added}}} == Gallery == {{{gallery|}}} == References == <references /> [[Category:Characters]] <noinclude> {| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed" | '''Notes''' |- | * [[Template:Infobox/Character page/Example | Example page]] * Empty Template <pre> {{Infobox/Character page | name = | image = | quote = | first_appearance = | status = | highlight_color = <!-- without # --> | pronouns = | nicknames = | relationships = | likes = | dislikes = | introduction = | summary = | trivia = | gallery = }} </pre> * unused rows are hidden so leave blank * <code>highlight_color</code> sets border color - leave blank if no color to use default gray * template adds page to <code>Character</code> category |} </noinclude> 51c1166d1c72af1292c65c216ebbc09a3db665a0 Ball Pit Beast 0 50 102 2022-11-28T07:49:05Z Werewire 2 basic page setup with some additional info wikitext text/x-wiki {{Infobox/Character page | name = Ball Pit Beast | image = Castballpitbeastbow.png | quote = THINGS JUST ARE DIFFERENCE! NOT EVERY BALL PIT IS THE SAME. IT IS LIKE FLAKES OF SNOW! | first_appearance = Page 31, 2/15/2022 | status = Alive | highlight_color = <!-- without # --> 00ff00 | pronouns = Any | nicknames = BPB | relationships = | likes = Ball Pits | dislikes = | introduction = '''Ball Pit Beast''' appears to be a big serpent-like monster, who claims he "slipped and fell" into the EcopportunityX facility which HP confirms<ref>https://ecopportunityx.cfw.me/comics/92/</ref>. He has a affinity for ball pits and speaks oddly. | summary = -To be added | trivia = No one seems to know what Ball Pit Beast "is" as HP claims he comes from either a level above or below where they came from<sup>[1]</sup>. Even the cast page calls him a "odd thing"<ref>https://ecopportunityx.cfw.me/cast/</ref>. | gallery = <gallery> Castballpitbeast.png|BPB's 1st cast image </gallery> }} 22f6f321f8f5d34dbcd3e4ebe628a42c01306d7d 103 102 2022-11-28T07:51:59Z Werewire 2 character page link update. i forgor wikitext text/x-wiki {{Infobox/Character page | name = Ball Pit Beast | image = Castballpitbeastbow.png | quote = THINGS JUST ARE DIFFERENCE! NOT EVERY BALL PIT IS THE SAME. IT IS LIKE FLAKES OF SNOW! | first_appearance = Page 31, 2/15/2022 | status = Alive | highlight_color = <!-- without # --> 00ff00 | pronouns = Any | nicknames = BPB | relationships = | likes = Ball Pits | dislikes = | introduction = '''Ball Pit Beast''' appears to be a big serpent-like monster, who claims he "slipped and fell" into the EcopportunityX facility which [[Higher Power (HP)|HP]] confirms<ref>https://ecopportunityx.cfw.me/comics/92/</ref>. He has a affinity for ball pits and speaks oddly. | summary = -To be added | trivia = No one seems to know what Ball Pit Beast "is" as [[Higher Power (HP)|HP]] claims he comes from either a level above or below where they came from<sup>[1]</sup>. Even the cast page calls him a "odd thing"<ref>https://ecopportunityx.cfw.me/cast/</ref>. | gallery = <gallery> Castballpitbeast.png|BPB's 1st cast image </gallery> }} 54d991bbc44d1ba736251eb98776d7cb9e5343f4 Daisy 0 51 105 2022-11-28T08:40:51Z Werewire 2 basic page setup with additional info wikitext text/x-wiki {{Infobox/Character page | name = Daisy | image = Castdaisy.png | quote = | first_appearance = Page 9, 2/4/2022 | status = Alive | highlight_color = <!-- without # --> ff8000 | pronouns = Any | nicknames = | relationships = | likes = | dislikes = | introduction = Daisy is a robot that's supposed to be surveying the facility<ref>https://ecopportunityx.cfw.me/comics/67/</ref> but isn't because rubble collapsed onto her. She just follows kid and everyone else around, doing things like brute forcing 9 digit locks for them<ref>https://ecopportunityx.cfw.me/comics/42</ref>. | summary = -To be added | trivia = Daisy was named by an anonymous commenter named "el" after page 13's name<ref>https://ecopportunityx.cfw.me/comics/13</ref> and the name won by 9 votes.<ref>https://ecopportunityx.cfw.me/comics/14</ref> | gallery = <gallery> Castrobot.png|Daisy's First cast image </gallery> }} d19296743d0438785a1a6f0ae1cb9a67b35e13f3 Category:Characters 14 52 107 2022-11-28T08:59:26Z Werewire 2 Created page with "This category contains an alphabetical list of all the characters in EcopportunityX This category includes everyone on the [https://ecopportunityx.cfw.me/cast/ cast] page as a character, so even though you might not count [[Daisy]] as a character due to her being a robot who cannot speak in any capacity, since she's on the cast page she is here." wikitext text/x-wiki This category contains an alphabetical list of all the characters in EcopportunityX This category includes everyone on the [https://ecopportunityx.cfw.me/cast/ cast] page as a character, so even though you might not count [[Daisy]] as a character due to her being a robot who cannot speak in any capacity, since she's on the cast page she is here. 2a56bbec6b8833881c4bf7202de59f84c979d8ca Ashley 0 18 113 78 2022-11-28T12:52:59Z Bunquest 6 tweaked formatting + wording wikitext text/x-wiki {{Infobox/Character page | name = Ashley | image = Castashleycleaned.png | quote = The AI got sick of us, so they’re sending us to hell now. | first_appearance = Page 39, 2/22/2022 | status = Alive | highlight_color = <!-- without # --> 82007d | pronouns = He/they | nicknames = None | relationships = | likes = | dislikes = | introduction = '''Ashley''' is a major character in EcopportunityX. He, along with [[Chantal]], was employed by the facility, working as a biochemist prior to the events of the comic. | summary = A pen exploded on him which stained his labcoat purple. | trivia = * Even though we don't know much about any character's appearance, we do know that Ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>. | gallery = <gallery> File:Castashley.png|Cast Image #1 File:Castashleywithbow.png|Cast Image #2 File:Ashley_248.png|Cutie.... </gallery> }} e24a51be7245ecafa2ba9aaf16cf1d6618e4b8ae 115 113 2022-11-28T12:56:22Z Bunquest 6 added floor info wikitext text/x-wiki {{Infobox/Character page | name = Ashley | image = Castashleycleaned.png | quote = The AI got sick of us, so they’re sending us to hell now. | first_appearance = Page 39, 2/22/2022 | status = Alive | highlight_color = <!-- without # --> 82007d | pronouns = He/they | nicknames = None | relationships = | likes = | dislikes = | introduction = '''Ashley''' is a major character in EcopportunityX. He, along with [[Chantal]], was employed by the facility, working as a biochemist on the eigth floor labs prior to the events of the comic. | summary = A pen exploded on him which stained his labcoat purple. | trivia = * Even though we don't know much about any character's appearance, we do know that Ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>. | gallery = <gallery> File:Castashley.png|Cast Image #1 File:Castashleywithbow.png|Cast Image #2 File:Ashley_248.png|Cutie.... </gallery> }} 5f9280ed91d22dce1e9b0c3566ba81b23fe90bd4 125 115 2022-11-28T17:36:49Z Bunquest 6 fixed formatting + colours wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #82007d; border-collapse: collapse; | abovestyle = background: #82007d; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #82007d; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #82007d; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castashleycleaned.png|frameless|200px|center|link=]] | data1 = "Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!" | label2 = First Appearance: | data2 = Page 39, 2/22/22 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = 82007d | label5 = Pronouns: | data5 = He/they | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = Dr. Zeller (Former boss) Kid, Daisy, Brian, Chantal (Friends) Stephen Bass (Former boss) | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Ashley''' is a major character in EcopportunityX. He, along with [[Chantal]], was employed by the facility, working as a biochemist on the eigth floor labs prior to the events of the comic. == Summary == A pen exploded on him which stained his labcoat purple. == Trivia == * Even though we don't know much about any character's appearance, we do know that Ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>. == Gallery == <gallery> File:Castashley.png|Cast Image #1 File:Castashleywithbow.png|Cast Image #2 File:Ashley_248.png|Cutie.... </gallery> == References == <references /> [[Category:Characters]] 246415a61399b3bfc0792e087de783eea45ac227 126 125 2022-11-28T17:37:14Z Bunquest 6 wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #82007d; border-collapse: collapse; | abovestyle = background: #82007d; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #82007d; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #82007d; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castashleycleaned.png|frameless|200px|center|link=]] | data1 = "The AI got sick of us, so they’re sending us to hell now." | label2 = First Appearance: | data2 = Page 39, 2/22/22 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = 82007d | label5 = Pronouns: | data5 = He/they | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = Dr. Zeller (Former boss) Kid, Daisy, Brian, Chantal (Friends) Stephen Bass (Former boss) | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Ashley''' is a major character in EcopportunityX. He, along with [[Chantal]], was employed by the facility, working as a biochemist on the eigth floor labs prior to the events of the comic. == Summary == A pen exploded on him which stained his labcoat purple. == Trivia == * Even though we don't know much about any character's appearance, we do know that Ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>. == Gallery == <gallery> File:Castashley.png|Cast Image #1 File:Castashleywithbow.png|Cast Image #2 File:Ashley_248.png|Cutie.... </gallery> == References == <references /> [[Category:Characters]] d706cd9363100cd589e0b041b50698acc17f1a1d Kid 0 11 121 75 2022-11-28T15:56:53Z Bunquest 6 wikitext text/x-wiki {{Infobox/Character page | name = Kid | color = ffffff | image = Castkidwithcape.png | quote = Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up! | first_appearance = Page 1, 2/2/2022 | status = Alive | highlight_color = <!-- without # --> 191919 | pronouns = Any | nicknames = None | relationships = Dr. Zeller (Friend), Daisy (Friend), Ball Pit Beast (Friend) Ashley (Friend), Brian (Friend), Chantal (Friend), Stephen Bass (Enemy), AI (Friend), HP (Friend) | likes = | dislikes = | introduction = '''Kid''' or "You" is a grey child with three eyes created by [[Stephen Bass]] in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them. | summary = -To be added | trivia = -To be added | gallery = <gallery> File:Castkid.png|Kid Cast Image File:KidSitting.PNG|Sitting :-] </gallery> }} 86ae0fff77e9bbc142b20f4758791e38a231d37c 123 121 2022-11-28T16:12:50Z Bunquest 6 trying to fix colours wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #191919; border-collapse: collapse; | abovestyle = background: #191919; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #191919; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #191919; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castkidwithcape.png|frameless|200px|center|link=]] | data1 = "Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!" | label2 = First Appearance: | data2 = Page 1, 2/2/22 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = 191919 | label5 = Pronouns: | data5 = Any | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = Dr. Zeller (Friend, former caretaker) Daisy, Ball Pit Beast, Ashley, Brian, Chantal, AI, HP (Friends) Stephen Bass (Creator) | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} ==Introduction== '''Kid''' or "You" is a grey child with three eyes created by [[Stephen Bass]] in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them. == Summary == {{{summary|-To be added}}} == Trivia == {{{trivia|-To be added}}} == Gallery == <gallery> File:Castkid.png|Kid Cast Image File:KidSitting.PNG|Sitting :-] </gallery> == References == <references /> [[Category:Characters]] 8087991996f80e1cb6a1f1404980adbc9ca1be13 124 123 2022-11-28T17:32:58Z Bunquest 6 wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #191919; border-collapse: collapse; | abovestyle = background: #191919; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #191919; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #191919; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castkidwithcape.png|frameless|200px|center|link=]] | data1 = "Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!" | label2 = First Appearance: | data2 = Page 1, 2/2/22 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = 191919 | label5 = Pronouns: | data5 = Any | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = Dr. Zeller (Friend, former caretaker) Daisy, Ball Pit Beast, Ashley, Brian, Chantal, AI, HP (Friends) Stephen Bass (Creator) | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Kid''' or "You" is a grey child with three eyes created by [[Stephen Bass]] in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them. == Summary == {{{summary|-To be added}}} == Trivia == {{{trivia|-To be added}}} == Gallery == <gallery> File:Castkid.png|Kid Cast Image File:KidSitting.PNG|Sitting :-] </gallery> == References == <references /> [[Category:Characters]] 69b7954d8740ec0aadaf374840a2aeab3c29f07a Brian 0 38 130 112 2022-11-28T17:53:26Z Bunquest 6 fixed formatting + colours wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #ff7d7d; border-collapse: collapse; | abovestyle = background: #ff7d7d; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #ff7d7d; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #ff7d7d; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castbriancleaned.png|frameless|200px|center|link=]] | data1 = "Plus I love eating big burgers. Makes me feel like those anime girls I see on Twitter." | label2 = First Appearance: | data2 = Page 53, 3/7/2022 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = ff7d7d | label5 = Pronouns: | data5 = They/them | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = Stephen Bass (Former friend, enemy) Kid, Daisy, Ashley, Chantal, Ballpit Beast (Friends) Facility AI (enemy, one-sided) | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Brian''' is a major character in EcopportunityX. They were a friend of [[Stephen Bass]] prior to the events of the comic. == Summary == Brian, unlike [[Ashley]] and [[Chantal]], did not work for EcopportunityX at all; rather, they were a friend of Bass's, having met him at a party. Bass, hoping to make them immortal with his project, forced them to stay on his desk with him until [[Kid]] stole them from him. With the help of [[The Facility's AI|AI]] and the rest of the group they get their body back. == Trivia == * In brain form the text to speech voice they canonically use is Commodore Sam.<ref>https://ecopportunityx.cfw.me/comics/88/</ref> * The jar they were in had cameras on the top giving Brian 360 degrees of camera feed, and they couldn't be turned off.<sup>[1]</sup> * Brian seems to really like [[Ball Pit Beast]], seeming particularly delighted at his appearance when they have their body again.<ref>https://ecopportunityx.cfw.me/comics/121/</ref> == Gallery == <gallery> Castbrian.png|Brain in a jar form Castbrianreal.png|"I got my brain taken out and all I got was this hospital gown." Pg 111 panel 4.png|Pipe murder win! </gallery> == References == <references /> [[Category:Characters]] ae274df85ca291e12f83d5684c4ca0a4f214bc5c 146 130 2022-12-27T06:07:48Z Werewire 2 character page links added wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #ff7d7d; border-collapse: collapse; | abovestyle = background: #ff7d7d; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #ff7d7d; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #ff7d7d; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castbriancleaned.png|frameless|200px|center|link=]] | data1 = "Plus I love eating big burgers. Makes me feel like those anime girls I see on Twitter." | label2 = First Appearance: | data2 = Page 53, 3/7/2022 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = ff7d7d | label5 = Pronouns: | data5 = They/them | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = [[Stephen Bass]] (Former friend, enemy) [[Kid]], [[Daisy]], [[Ashley]], [[Chantal]], [[Ball Pit Beast|Ballpit Beast]] (Friends) [[The Facility's AI|Facility AI]] (enemy, one-sided) | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Brian''' is a major character in EcopportunityX. They were a friend of [[Stephen Bass]] prior to the events of the comic. == Summary == Brian, unlike [[Ashley]] and [[Chantal]], did not work for EcopportunityX at all; rather, they were a friend of Bass's, having met him at a party. Bass, hoping to make them immortal with his project, forced them to stay on his desk with him until [[Kid]] stole them from him. With the help of [[The Facility's AI|AI]] and the rest of the group they get their body back. == Trivia == * In brain form the text to speech voice they canonically use is Commodore Sam.<ref>https://ecopportunityx.cfw.me/comics/88/</ref> * The jar they were in had cameras on the top giving Brian 360 degrees of camera feed, and they couldn't be turned off.<sup>[1]</sup> * Brian seems to really like [[Ball Pit Beast]], seeming particularly delighted at his appearance when they have their body again.<ref>https://ecopportunityx.cfw.me/comics/121/</ref> == Gallery == <gallery> Castbrian.png|Brain in a jar form Castbrianreal.png|"I got my brain taken out and all I got was this hospital gown." Pg 111 panel 4.png|Pipe murder win! </gallery> == References == <references /> [[Category:Characters]] b33b7cce369c0f24c53fabf3d5a379ad3b61f88d Stephen Bass 0 32 131 116 2022-11-28T17:59:43Z Bunquest 6 fixed formatting + colours wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #ff0000; border-collapse: collapse; | abovestyle = background: #ff0000; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #ff0000; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #ff0000; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castbass.png|frameless|200px|center|link=]] | data1 = "...This is all your fault, you know. If it wasn’t for your little deformity-- the focus group wouldn’t have had such a negative response!" | label2 = First Appearance: | data2 = Page 39, 2/22/22 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = ff0000 | label5 = Pronouns: | data5 = He/him | label6 = Nicknames: | data6 = Stevie | label7 = Relationships: | data7 = Dr. Zeller (Subordinate) Brian (Former friend) Ashley, Chantal (Employees) | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Stephen Bass''' is a major character in EcopportunityX. He was the CEO of EOX, and the one responsible for the disaster that befell the facility. == Summary == Bass caused the end of his company due to desperation because end of the fiscal year was coming up and [[Higher Power (HP)|HP]] was brought down. He was killed by [[Brian]] on page 93. == Trivia == * Bass attempted to use Brian's phone to text himself messages that said that they were still friends.<ref>https://ecopportunityx.cfw.me/comics/130/</ref> * Bass owned a blu-ray copy of The Big Bang Theory: The Complete Series, that he kept hidden under his bed.<ref>https://ecopportunityx.cfw.me/comics/105/</ref> * Interestingly, with Bass' death we have no other way to learn more about Dr. Zeller since Ashley, Brian, and Chantal barely knew them.<sup>[Citation Needed]</sup> == Gallery == <gallery> Castbassend.png|His latest cast image. You can hazard a guess as to why it wasn't used. Pg 54 panel 3.png|FUCKING SHIT JACKASS! Pg 112 panel 2.png|Most pathetic child kicker ever </gallery> == References == <references /> [[Category:Characters]] a04ae4865e2a326c9c241d414963b609e0f9b397 142 131 2022-12-27T01:53:05Z Werewire 2 character page links added wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #ff0000; border-collapse: collapse; | abovestyle = background: #ff0000; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #ff0000; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #ff0000; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castbass.png|frameless|200px|center|link=]] | data1 = "...This is all your fault, you know. If it wasn’t for your little deformity-- the focus group wouldn’t have had such a negative response!" | label2 = First Appearance: | data2 = Page 39, 2/22/22 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = ff0000 | label5 = Pronouns: | data5 = He/him | label6 = Nicknames: | data6 = Stevie | label7 = Relationships: | data7 = [[Dr. Zeller]] (Subordinate) [[Brian]] (Former friend) [[Ashley]], [[Chantal]] (Employees) | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Stephen Bass''' is a major character in EcopportunityX. He was the CEO of EOX, and the one responsible for the disaster that befell the facility. == Summary == Bass caused the end of his company due to desperation because end of the fiscal year was coming up and [[Higher Power (HP)|HP]] was brought down. He was killed by [[Brian]] on page 93. == Trivia == * Bass attempted to use [[Brian]]'s phone to text himself messages that said that they were still friends.<ref>https://ecopportunityx.cfw.me/comics/130/</ref> * Bass owned a blu-ray copy of The Big Bang Theory: The Complete Series, that he kept hidden under his bed.<ref>https://ecopportunityx.cfw.me/comics/105/</ref> * Interestingly, with Bass' death we have no other way to learn more about [[Dr. Zeller]] since Ashley, Brian, and Chantal barely knew them.<sup>[Citation Needed]</sup> == Gallery == <gallery> Castbassend.png|His latest cast image. You can hazard a guess as to why it wasn't used. Pg 54 panel 3.png|FUCKING SHIT JACKASS! Pg 112 panel 2.png|Most pathetic child kicker ever </gallery> == References == <references /> [[Category:Characters]] 981c90244de5ce69fe6da7bbf810e6c0a7040a6f Higher Power (HP) 0 41 132 91 2022-11-28T18:03:37Z Bunquest 6 fixed formatting + colours wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #ffffff; border-collapse: collapse; | abovestyle = background: #ffffff; color: #000000; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #ffffff; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #ffffff; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Casthp.png|frameless|200px|center|link=]] | data1 = "Hi! I’m God!" | label2 = First Appearance: | data2 = Page 90, 4/13/2022 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = ffffff | label5 = Pronouns: | data5 = Any | label6 = Nicknames: | data6 = HP (used by default) | label7 = Relationships: | data7 = AI, Kid (Friends) | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} == Summary == == Trivia == == Gallery == <gallery> </gallery> == References == <references /> [[Category:Characters]] e44cf7efebf3b795a2a184acc55585a105844556 144 132 2022-12-27T02:12:26Z Werewire 2 character page links added wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #ffffff; border-collapse: collapse; | abovestyle = background: #ffffff; color: #000000; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #ffffff; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #ffffff; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Casthp.png|frameless|200px|center|link=]] | data1 = "Hi! I’m God!" | label2 = First Appearance: | data2 = Page 90, 4/13/2022 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = ffffff | label5 = Pronouns: | data5 = Any | label6 = Nicknames: | data6 = HP (used by default) | label7 = Relationships: | data7 = [[The Facility's AI|AI]], [[Kid]] (Friends) | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} == Summary == == Trivia == == Gallery == <gallery> </gallery> == References == <references /> [[Category:Characters]] cda64548ddc3f0462ce1b1f7855a93fe266de74f Daisy 0 51 133 105 2022-11-28T18:13:20Z Bunquest 6 fixed formatting + colours wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #ff8000; border-collapse: collapse; | abovestyle = background: #ff8000; color: #000000; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #ff8000; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #ff8000; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castdaisy.png|frameless|200px|center|link=]] | data1 = | label2 = First Appearance: | data2 = Page 9, 2/4/22 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = ff8000 | label5 = Pronouns: | data5 = Any (primarily she/it) | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Daisy''' is a robot that's supposed to be surveying the facility<ref>https://ecopportunityx.cfw.me/comics/67/</ref> but isn't because rubble collapsed onto her. She just follows kid and everyone else around, doing things like brute forcing 9 digit locks for them<ref>https://ecopportunityx.cfw.me/comics/42</ref>. == Summary == == Trivia == * Daisy was named by an anonymous commenter named "el" after page 13's name<ref>https://ecopportunityx.cfw.me/comics/13</ref> and the name won by 9 votes.<ref>https://ecopportunityx.cfw.me/comics/14</ref> == Gallery == <gallery> Castrobot.png|Daisy's First cast image </gallery> == References == <references /> [[Category:Characters]] 17cf8c2e6fbe09c51061305476a4674841a98885 Chantal 0 40 134 129 2022-11-28T19:18:53Z Bunquest 6 wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #0000ff; border-collapse: collapse; | abovestyle = background: #0000ff; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #0000ff; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #0000ff; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castchantalwithbow.png|frameless|200px|center|link=]] | data1 = "But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up." | label2 = First Appearance: | data2 = Page 77, 3/31/22 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = 0000ff | label5 = Pronouns: | data5 = She/they | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = Kid, Ashley, Brian, Daisy (Friends) Stephen Bass (Former boss) An unnamed sister Unnamed parents | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Chantal''' is a major character in EcopportunityX. She, alongside [[Ashley]], was hired by the facility, working as a computer scientist on the third floor offices prior to the events of the comic. == Summary == ===Working at EcopportunityX=== Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>. ===The Incident=== Shortly after [[Higher Power (HP)|HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles. Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>. ===Escaping the Tower=== Chantal remained under her desk until she was found by [[Kid]], [[Ashley]], [[Brian]] and [[Daisy]], who had been traversing through the cubicle maze themselves. After introductions were made, Chantal decided to join the group in the hopes of escaping the facility together. Giving Kid the pens from her desk and letting them carry her belongings in their pillowcase, she was about to set off with the rest of the group when she received a series of urgent emails from Bass. Realising Bass was aware of Brian’s location and that he wanted them returned, Chantal agreed not to take them back to his office. Instead, she replied to his emails in a manner reminiscent of how Brian would type, per their instruction. Eventually, the group managed to reach the first floor of the building and its exit, although they were unable to leave through the door. This greatly distressed Kid, and while Chantal and Ashley attempted to calm them down, they encountered [[The Facility's AI|the facility’s AI]] inhabiting Brian’s body. Chantal demonstrated an extensive knowledge of artificial intelligence in general, explaining how the AI might have reached self-actualisation to the rest of the group. While the group travelled back to the fifth floor to transfer Brian’s brain back into their body, Chantal offered to carry an exhausted Kid rather than them having to walk. Once back in their body, Brian was initially unable to stand on their own, needing Chantal (and eventually Ashley) to support them. Brian commented that Chantal was “about as tall as I thought”, which she found amusing <ref name=”:7”>https://ecopportunityx.cfw.me/comics/86/</ref>. The group made their way down to the basement of the building per the AI’s instructions, Brian eventually being able to stand on their own. The group eventually encountered HP, Chantal falling to her knees in disbelief when they identified themself as God. When Kid asked about Chantal’s sister, she was very concerned when HP couldn’t give a definitive answer as their perception was localised to the facility. Kid also asked what everyone’s most embarrassing secret was; HP was happy to answer ‘’this’’ question, revealing that Chantal performed poorly in school and accidentally taught her sister numerous swear words. Chantal responded, at least to the first comment, rather defensively, claiming ''”I got better once I started taking computer science classes!”''. HP informed the group that someone would have to kill Bass in order to close the gateway they had come through and stop the further distortion of the facility. When Brian asserted that they would go through with it, Chantal tried to encourage them to formulate a plan before going through with it; they dismissed this idea, however. When Brian asked for her help, she refused adamantly, not caring whether or not Bass may have deserved it. While Brian went to carry out what had been asked of them, Chantal stayed with Ashley, Kid, and Daisy, standing protectively over the three of them while they waited for Brian. == Trivia == == Gallery == <gallery> Castchantal.png|First cast portrait (used from 4/1/22 to 4/2/22) </gallery> == References == <references /> [[Category:Characters]] d5156976418a3c43e9d2dce4c15aa8647150fc58 147 134 2022-12-27T06:33:34Z Werewire 2 character page links added wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #0000ff; border-collapse: collapse; | abovestyle = background: #0000ff; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #0000ff; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #0000ff; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castchantalwithbow.png|frameless|200px|center|link=]] | data1 = "But I already spent hours curled up under my desk having an episode, and that didn’t get me anywhere. And if I end up like that again, I’m not getting back up." | label2 = First Appearance: | data2 = Page 77, 3/31/22 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = 0000ff | label5 = Pronouns: | data5 = She/they | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = [[Kid]], [[Ashley]], [[Brian]], [[Daisy]] (Friends) [[Stephen Bass]] (Former boss) An unnamed sister Unnamed parents | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Chantal''' is a major character in EcopportunityX. She, alongside [[Ashley]], was hired by the facility, working as a computer scientist on the third floor offices prior to the events of the comic. == Summary == ===Working at EcopportunityX=== Chantal was hired by EcopportunityX as an office worker, tasked with jobs such as paperwork and troubleshooting. While not happy about not being able to talk to her family, specifically her sister, she accepted the position regardless as she found the offer of free housing hard to turn down <ref name=":4">https://ecopportunityx.cfw.me/comics/78/</ref>. ===The Incident=== Shortly after [[Higher Power (HP)|HP]] was brought down to the facility by [[Stephen Bass]] (with disastrous results) workers flew into a panic <ref name=“:5”>https://ecopportunityx.cfw.me/comics/92/</ref>. Chantal, working at her desk at the time the disaster took place, was swept up by the crowds attempting to escape the building. Once they saw workers trying to cram into stairways, however, they managed to break away to the cubicles. Trying to make her way off the floor, Chantal began to run through the cubicles; only to find that they had been warped into a spiraling maze she was unable to get out of. She panicked, curling up under her desk to try and wait out the chaos and loosening her tie in an attempt to make it easier to breathe in her frantic state - though it didn’t help much <ref name=“:6”>https://ecopportunityx.cfw.me/comics/115/</ref>. ===Escaping the Tower=== Chantal remained under her desk until she was found by [[Kid]], [[Ashley]], [[Brian]] and [[Daisy]], who had been traversing through the cubicle maze themselves. After introductions were made, Chantal decided to join the group in the hopes of escaping the facility together. Giving Kid the pens from her desk and letting them carry her belongings in their pillowcase, she was about to set off with the rest of the group when she received a series of urgent emails from Bass. Realising Bass was aware of Brian’s location and that he wanted them returned, Chantal agreed not to take them back to his office. Instead, she replied to his emails in a manner reminiscent of how Brian would type, per their instruction. Eventually, the group managed to reach the first floor of the building and its exit, although they were unable to leave through the door. This greatly distressed Kid, and while Chantal and Ashley attempted to calm them down, they encountered [[The Facility's AI|the facility’s AI]] inhabiting Brian’s body. Chantal demonstrated an extensive knowledge of artificial intelligence in general, explaining how the AI might have reached self-actualisation to the rest of the group. While the group travelled back to the fifth floor to transfer Brian’s brain back into their body, Chantal offered to carry an exhausted Kid rather than them having to walk. Once back in their body, Brian was initially unable to stand on their own, needing Chantal (and eventually Ashley) to support them. Brian commented that Chantal was “about as tall as I thought”, which she found amusing <ref name=”:7”>https://ecopportunityx.cfw.me/comics/86/</ref>. The group made their way down to the basement of the building per the AI’s instructions, Brian eventually being able to stand on their own. The group eventually encountered HP, Chantal falling to her knees in disbelief when they identified themself as God. When Kid asked about Chantal’s sister, she was very concerned when HP couldn’t give a definitive answer as their perception was localised to the facility. Kid also asked what everyone’s most embarrassing secret was; HP was happy to answer ‘’this’’ question, revealing that Chantal performed poorly in school and accidentally taught her sister numerous swear words. Chantal responded, at least to the first comment, rather defensively, claiming ''”I got better once I started taking computer science classes!”''. HP informed the group that someone would have to kill Bass in order to close the gateway they had come through and stop the further distortion of the facility. When Brian asserted that they would go through with it, Chantal tried to encourage them to formulate a plan before going through with it; they dismissed this idea, however. When Brian asked for her help, she refused adamantly, not caring whether or not Bass may have deserved it. While Brian went to carry out what had been asked of them, Chantal stayed with Ashley, Kid, and Daisy, standing protectively over the three of them while they waited for Brian. == Trivia == == Gallery == <gallery> Castchantal.png|First cast portrait (used from 4/1/22 to 4/2/22) </gallery> == References == <references /> [[Category:Characters]] 28a40e169d0554b559a87420e3d5ce1fedf95710 Main Page 0 1 135 87 2022-12-01T09:13:27Z Werewire 2 /* For visitors of this wiki: */ showing what is done by crossing it from the list wikitext text/x-wiki __NOTOC__ == Welcome to {{SITENAME}}! == This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. == For visitors of this wiki: == This wiki will contain helpful information about the characters and setting of EOX. Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]] Things that are planned to be included is: * Basic Plot summaries * Personality * Relationships * <s>Highlight colors</s> * Images from the comics * <s>All the cast images</s> minus a possible few from brian this is complete '''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''. ==== I have a problem with/suggestion for the wiki! ==== If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact: * [[User:Werewire|Me]] * Any future "mods" === Additional Links === * [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom * [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts b96e3d934d1c5d2a87e594f17b6ed4b60248ddaf 152 135 2023-02-05T07:47:29Z Werewire 2 sprucing up the main page wikitext text/x-wiki __NOTOC__ == Welcome to {{SITENAME}}! == This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. It is an ongoing interactive horror comic. It stars an [[Kid|unnamed gray child]] trapped in a facility, staging their escape after waking up in the immediate aftermath of a mysterious incident. '''Latest Update:''' 2nd Feb 2023, 8:14 PM [https://ecopportunityx.cfw.me/comics/ Page 136] == For visitors of this wiki: == This wiki will contain helpful information about the characters and setting of EOX. Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]] Things that are planned to be included is: * Basic Plot summaries * Personality * Relationships * <s>Highlight colors</s> * Images from the comics * <s>All the cast images</s> minus a possible few from brian this is complete '''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''. ==== I have a problem with/suggestion for the wiki! ==== If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact: * [[User:Werewire|Me]] * Any future "mods" === Additional Links === * [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom * [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts dcbea2154c5bdd111350d1d0452677f6434f02d1 EcopportunityX - Escape The Wiki:About 4 53 136 2022-12-03T06:58:08Z Werewire 2 created about page with information and rules wikitext text/x-wiki == Rules == The EcopportunityX Wiki does not have many rules besides # Follow [https://meta.miraheze.org/wiki/Special:MyLanguage/Terms_of_Use Miraheze's TOS] # No Vandalism (Obviously) # Keep the wiki HELPFUL to other people, which means no fancy text that can't be read by screenreaders and no hiding text by making it the same color as the background, stuff like that. A guide on text color contrast can be found [https://developer.mozilla.org/en-US/docs/Web/Accessibility/Understanding_WCAG/Perceivable/Color_contrast here] == Wiki Content == As stated on the [[Main_Page|main page]] content inside this wiki will be: * Basic Plot summaries * Personality * Relationships * Highlight colors * Images from the comics * All the cast images '''The wiki does not have strict guidelines on captioning gallery images besides:''' # If it is a cast image PLEASE say which number it is either on the character's page itself or on the image's comment, as is the case with [[Brian#Gallery|brian's cast images.]] Otherwise the basic guidelines are, in no particular order: * Have fun. * Make them funny if you'd like but it may get edited to be unrecognizable from before or removed if its "cringe" or contains inaccuracies. * For now you will have to copy the code from an existing page when adding new characters or copy/paste from below, as we don't have proper templates set up anymore due to changes done by my beloved admin Bunquest. (Well we have them but adjustments have been made to them etc etc so its set up weird right now, if you look at it you'll understand.) <br></br> {| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed" | '''Notes''' |- | * [[Template:Infobox/Character page/Example | Example page]] * Empty Template <pre> {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #ff7d7d; border-collapse: collapse; | abovestyle = background: #ff7d7d; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #ff7d7d; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #ff7d7d; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Cast(whoever).png|frameless|200px|center|link=]] | data1 = "Quote here!" | label2 = First Appearance: | data2 = Page #, (Date here, formatted Month/Day/Year) | label3 = Status: | data3 = | label4 = Highlight Color: | data4 = | label5 = Pronouns: | data5 = | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} (Introduction here) == Summary == == Trivia == * (Use bulleted text here) == Gallery == <gallery> </gallery> == References == <references /> </pre> * unused rows are hidden so leave blank * <code>highlight_color</code> sets border color - leave blank if no color to use default gray (Do not include a # in the hex code) * template adds page to <code>Character</code> category * We are no longer using the likes and dislikes sections, leave them BLANK. * Remember to adhere to rule three if changing the top text of the infobox color to a different color for readability purposes. |} 10717773bcf10ff77a88c7d7f28b2c893f3f0de8 143 136 2022-12-27T02:04:15Z Werewire 2 rule added wikitext text/x-wiki == Rules == The EcopportunityX Wiki does not have many rules besides # Follow [https://meta.miraheze.org/wiki/Special:MyLanguage/Terms_of_Use Miraheze's TOS] # No Vandalism (Obviously) # Keep the wiki HELPFUL to other people, which means no fancy text that can't be read by screenreaders and no hiding text by making it the same color as the background, stuff like that. A guide on text color contrast can be found [https://developer.mozilla.org/en-US/docs/Web/Accessibility/Understanding_WCAG/Perceivable/Color_contrast here] # No using private sources such as discord, as this was [https://imgur.com/a/9oUZpzr a request by the creator of the comic themself]. Please ensure your sources are publicly accessible or they will be removed. == Wiki Content == As stated on the [[Main_Page|main page]] content inside this wiki will be: * Basic Plot summaries * Personality * Relationships * Highlight colors * Images from the comics * All the cast images '''The wiki does not have strict guidelines on captioning gallery images besides:''' # If it is a cast image PLEASE say which number it is either on the character's page itself or on the image's comment, as is the case with [[Brian#Gallery|brian's cast images.]] Otherwise the basic guidelines are, in no particular order: * Have fun. * Make them funny if you'd like but it may get edited to be unrecognizable from before or removed if its "cringe" or contains inaccuracies. * For now you will have to copy the code from an existing page when adding new characters or copy/paste from below, as we don't have proper templates set up anymore due to changes done by my beloved admin Bunquest. (Well we have them but adjustments have been made to them etc etc so its set up weird right now, if you look at it you'll understand.) <br></br> {| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed" | '''Notes''' |- | * [[Template:Infobox/Character page/Example | Example page]] * Empty Template <pre> {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #ff7d7d; border-collapse: collapse; | abovestyle = background: #ff7d7d; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #ff7d7d; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #ff7d7d; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Cast(whoever).png|frameless|200px|center|link=]] | data1 = "Quote here!" | label2 = First Appearance: | data2 = Page #, (Date here, formatted Month/Day/Year) | label3 = Status: | data3 = | label4 = Highlight Color: | data4 = | label5 = Pronouns: | data5 = | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} (Introduction here) == Summary == == Trivia == * (Use bulleted text here) == Gallery == <gallery> </gallery> == References == <references /> </pre> * unused rows are hidden so leave blank * <code>highlight_color</code> sets border color - leave blank if no color to use default gray (Do not include a # in the hex code) * template adds page to <code>Character</code> category * We are no longer using the likes and dislikes sections, leave them BLANK. * Remember to adhere to rule three if changing the top text of the infobox color to a different color for readability purposes. |} 4caab79efe8161730b028f6c3b39b2a2493423e9 Template:Header/doc 10 77 197 2022-12-16T04:40:31Z dev>Pppery 0 8 revisions imported from [[:meta:Template:Header/doc]] wikitext text/x-wiki {{documentation subpage}} ==Usage== <pre> {{header | title = | shortcut = | notes = | topbarhex = | bodyhex = | titlecolor = | bodycolor = }} </pre> ===Relative links=== On pages with many subpages, using [[m:Help:Link#Subpage_feature|relative links]] is highly recommended. This shortens the code and ensures that pages remain linked together, even if the overall system is moved or reorganised. The three formats are <nowiki>[[/subpage]]</nowiki> (subpage), <nowiki>[[../]]</nowiki> (parent), and <nowiki>[[../sibling]]</nowiki> (sibling); see the example usage below. Note that <nowiki>[[../]]</nowiki> will expand to the title of the parent page, which is ideal if the page is renamed at a later time. ==See also== {{#lst:Template:Template list|header-templates}} 5765ffdddc2682eb2227083ebcc24a126128ac5d Template:Header 10 58 159 2022-12-16T04:46:16Z dev>Pppery 0 wikitext text/x-wiki {| style="width: 100% !important;" |- | style="border-top: 4px solid #{{{topbarhex|6F6F6F}}}; background-color: #{{{bodyhex|F6F6F6}}}; padding: 10px 15px;" | {{#if:{{{shortcut|}}}| {{shortcut|{{{shortcut|uselang={{{uselang|{{CURRENTCONTENTLANGUAGE}}}}}}}}}}}}<div style="font-size:180%; text-align: left; color: {{{titlecolor|}}}">'''{{{title|{{{1|{{BASEPAGENAME}}}}}}}}'''</div> <div style="padding-top:0.3em; padding-bottom:0.1em; font-size:100%; text-align: left; color: {{{bodycolor|}}}">{{{notes|Put some notes here!}}}</div> |- | style="height: 10px" | |} {{clear}}<noinclude>{{documentation}}[[Category:templates]]</noinclude> 03aac86137ab11bfccbcceb2de919475af2953dd 160 159 2023-03-30T08:29:39Z Werewire 2 1 revision imported: added templates wikitext text/x-wiki {| style="width: 100% !important;" |- | style="border-top: 4px solid #{{{topbarhex|6F6F6F}}}; background-color: #{{{bodyhex|F6F6F6}}}; padding: 10px 15px;" | {{#if:{{{shortcut|}}}| {{shortcut|{{{shortcut|uselang={{{uselang|{{CURRENTCONTENTLANGUAGE}}}}}}}}}}}}<div style="font-size:180%; text-align: left; color: {{{titlecolor|}}}">'''{{{title|{{{1|{{BASEPAGENAME}}}}}}}}'''</div> <div style="padding-top:0.3em; padding-bottom:0.1em; font-size:100%; text-align: left; color: {{{bodycolor|}}}">{{{notes|Put some notes here!}}}</div> |- | style="height: 10px" | |} {{clear}}<noinclude>{{documentation}}[[Category:templates]]</noinclude> 03aac86137ab11bfccbcceb2de919475af2953dd The Facility's AI 0 49 137 100 2022-12-26T07:36:17Z Werewire 2 updated page onto new template wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #191919; border-collapse: collapse; | abovestyle = background: #191919; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #191919; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #191919; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castaireal.png|frameless|200px|center|link=https://ecopportunityx.miraheze.org/wiki/File:Castaireal.png]] | data1 = "I am not sure why. When I saw you, with your body taken away from you and left to decay, I felt… bad. I do not understand why I felt this way, as I was not designed to. Interrogation of this anomaly only lead to further confusion, which I was not equipped to resolve on my own. So I simply did… ‘what felt right." | label2 = First Appearance: | data2 = Page #17, 2/8/2022. Introduced Page #84 4/7/2022 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = #191919 | label5 = Pronouns: | data5 = Any | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} The Facility's AI was installed since the facility was opened since they were installed along with the internal computer systems. AI hasn't self-actualized yet so they have a lot of difficulty going against direct orders and priorities of their managers, managers in this case being Bass. == Summary == -To Be added == Trivia == * To be added == Gallery == <gallery> Castai.png|AI in Brian's body </gallery> == References == <references /> 9720793b820ce656e41b2bf3b13f450b20e407cb 138 137 2022-12-26T07:37:41Z Werewire 2 link updates wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #191919; border-collapse: collapse; | abovestyle = background: #191919; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #191919; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #191919; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castaireal.png|frameless|200px|center|link=https://ecopportunityx.miraheze.org/wiki/File:Castaireal.png]] | data1 = "I am not sure why. When I saw you, with your body taken away from you and left to decay, I felt… bad. I do not understand why I felt this way, as I was not designed to. Interrogation of this anomaly only lead to further confusion, which I was not equipped to resolve on my own. So I simply did… ‘what felt right." | label2 = First Appearance: | data2 = Page #17, 2/8/2022. Introduced Page #84 4/7/2022 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = #191919 | label5 = Pronouns: | data5 = Any | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} The Facility's AI was installed since the facility was opened since they were installed along with the internal computer systems. AI hasn't self-actualized yet so they have a lot of difficulty going against direct orders and priorities of their managers, managers in this case being [[Stephen Bass|Bass]]. == Summary == -To Be added == Trivia == * To be added == Gallery == <gallery> Castai.png|AI in Brian's body </gallery> == References == <references /> 3ad1ac9759160163b6c80df7cf1d64be59e717ba 141 138 2022-12-27T00:58:43Z Werewire 2 added category wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #191919; border-collapse: collapse; | abovestyle = background: #191919; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #191919; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #191919; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castaireal.png|frameless|200px|center|link=https://ecopportunityx.miraheze.org/wiki/File:Castaireal.png]] | data1 = "I am not sure why. When I saw you, with your body taken away from you and left to decay, I felt… bad. I do not understand why I felt this way, as I was not designed to. Interrogation of this anomaly only lead to further confusion, which I was not equipped to resolve on my own. So I simply did… ‘what felt right." | label2 = First Appearance: | data2 = Page #17, 2/8/2022. Introduced Page #84 4/7/2022 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = #191919 | label5 = Pronouns: | data5 = Any | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} The Facility's AI was installed since the facility was opened since they were installed along with the internal computer systems. AI hasn't self-actualized yet so they have a lot of difficulty going against direct orders and priorities of their managers, managers in this case being [[Stephen Bass|Bass]]. == Summary == -To Be added == Trivia == * To be added == Gallery == <gallery> Castai.png|AI in Brian's body </gallery> == References == <references /> [[Category:Characters]] 74a6d9ede9bdc9748f0a6e792876f37568b61368 MediaWiki:Common.css 8 6 139 15 2022-12-26T09:06:37Z Werewire 2 css updates to links css text/css /* CSS placed here will be applied to all skins */ body { display: table; width: 100%; font-family: tamoha, arial, sans-serif; background-color: #555555; color: #282828; margin: 0; min-width: 750px; } .mw-logo-container { content: url(https://static-new.miraheze.org/ecopportunityxwiki/6/6d/Wiki_header.png?20221126001210); } .mw-page-container { background: #555555; } #content { border: 1px solid #000000; background-color: #DFDFDF; } #mw-panel.mw-sidebar { border: 1px solid #000000; background: #DFDFDF; padding: 10px; } a:link { color: #0000ff; } a:visited { color: #82007d; } .mw-parser-output a.extiw, .mw-parser-output a.external { color: #0000ff; } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited { color: #82007d; } #footer-places li a { color: #d7d7d7; border-bottom: 1px solid #d7d7d7; } .vector-menu-portal .vector-menu-content li a:visited, .vector-menu-portal .vector-menu-content li a { color: #0000ff; } .vector-menu-tabs li a { color: #0000ff; } .vector-menu-tabs li { background-image: linear-gradient(to top,#7f7f7f 0,#aaaaaa 1px,#dfdfdf 100%); background-position: left bottom; background-repeat: repeat-x; float: left; display: block; height: 100%; margin: 0; padding: 0; line-height: 1.125em; white-space: nowrap; } .vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading { background-image: none; } /* Wikitables */ .wikitable { background-color: #dfdfdf; color: #282828; border: 1px solid #a2a9b1; float: right; clear: right; width: 295px; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: #aaaaaa; text-align: center; } 89dd626c65e1f0248bf3b1a32b342ebd0ec1499a 140 139 2022-12-26T09:19:25Z Werewire 2 css text/css /* CSS placed here will be applied to all skins */ body { display: table; width: 100%; font-family: tamoha, arial, sans-serif; background-color: #555555; color: #282828; margin: 0; min-width: 750px; } .mw-logo-container { content: url(https://static.miraheze.org/ecopportunityxwiki/6/6d/Wiki_header.png?20221126001210); } .mw-page-container { background: #555555; } #content { border: 1px solid #000000; background-color: #DFDFDF; } #mw-panel.mw-sidebar { border: 1px solid #000000; background: #DFDFDF; padding: 10px; } a:link { color: #0000ff; } a:visited { color: #82007d; } .mw-parser-output a.extiw, .mw-parser-output a.external { color: #0000ff; } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited { color: #82007d; } #footer-places li a { color: #d7d7d7; border-bottom: 1px solid #d7d7d7; } .vector-menu-portal .vector-menu-content li a:visited, .vector-menu-portal .vector-menu-content li a { color: #0000ff; } .vector-menu-tabs li a { color: #0000ff; } .vector-menu-tabs li { background-image: linear-gradient(to top,#7f7f7f 0,#aaaaaa 1px,#dfdfdf 100%); background-position: left bottom; background-repeat: repeat-x; float: left; display: block; height: 100%; margin: 0; padding: 0; line-height: 1.125em; white-space: nowrap; } .vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading { background-image: none; } /* Wikitables */ .wikitable { background-color: #dfdfdf; color: #282828; border: 1px solid #a2a9b1; float: right; clear: right; width: 295px; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: #aaaaaa; text-align: center; } a1a4d1cfa9c13e406d7e5e210971c0c5da238758 151 140 2023-02-01T06:16:43Z Werewire 2 css updates css text/css /* CSS placed here will be applied to all skins */ body { display: table; width: 100%; font-family: tamoha, arial, sans-serif; background-color: #555555; color: #282828; margin: 0; min-width: 750px; } .mw-logo-container { content: url(https://static.miraheze.org/ecopportunityxwiki/6/6d/Wiki_header.png?20221126001210); } .mw-page-container { background: #555555; } #content { border: 1px solid #000000; background-color: #DFDFDF; padding: 10px; margin-left: -30px; } #mw-panel.mw-sidebar { border: 1px solid #000000; background: #DFDFDF; padding: 5px; margin-left: -10px; } a:link { color: #0000ff; } a:visited { color: #82007d; } .mw-parser-output a.extiw, .mw-parser-output a.external { color: #0000ff; } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited { color: #82007d; } #footer-places li a { color: #d7d7d7; border-bottom: 1px solid #d7d7d7; } .vector-menu-portal .vector-menu-content li a:visited, .vector-menu-portal .vector-menu-content li a { color: #0000ff; } .vector-menu-tabs li a { color: #0000ff; } .vector-menu-tabs li { background-image: linear-gradient(to top,#7f7f7f 0,#aaaaaa 1px,#dfdfdf 100%); background-position: left bottom; background-repeat: repeat-x; float: left; display: block; height: 100%; margin: 0; padding: 0; line-height: 1.125em; white-space: nowrap; } .vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading { background-image: none; } /* Wikitables */ .wikitable { background-color: #dfdfdf; color: #282828; border: 1px solid #a2a9b1; float: right; clear: right; width: 295px; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: #aaaaaa; text-align: center; } 0cc964c897fb659757a4902daff7801d9d702b15 Ashley 0 18 145 126 2022-12-27T02:19:20Z Werewire 2 character page links added wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #82007d; border-collapse: collapse; | abovestyle = background: #82007d; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #82007d; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #82007d; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castashleycleaned.png|frameless|200px|center|link=]] | data1 = "The AI got sick of us, so they’re sending us to hell now." | label2 = First Appearance: | data2 = Page 39, 2/22/22 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = 82007d | label5 = Pronouns: | data5 = He/they | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = [[Dr. Zeller]] (Former boss) [[Kid]], [[Daisy]], [[Brian]], [[Chantal]] (Friends) [[Stephen Bass]] (Former boss) | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Ashley''' is a major character in EcopportunityX. He, along with [[Chantal]], was employed by the facility, working as a biochemist on the eigth floor labs prior to the events of the comic. == Summary == A pen exploded on him which stained his labcoat purple. == Trivia == * Even though we don't know much about any character's appearance, we do know that Ashley's hair is dyed blonde and that his natural hair color is brown<ref name=":0">https://artfight.net/character/2230960.ashley</ref>. == Gallery == <gallery> File:Castashley.png|Cast Image #1 File:Castashleywithbow.png|Cast Image #2 File:Ashley_248.png|Cutie.... </gallery> == References == <references /> [[Category:Characters]] e5918a4bf9a9e6b581c19e8feb9da738087c65df Kid 0 11 148 124 2022-12-28T04:47:11Z Werewire 2 character page links added wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #191919; border-collapse: collapse; | abovestyle = background: #191919; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #191919; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #191919; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castkidwithcape.png|frameless|200px|center|link=]] | data1 = "Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!" | label2 = First Appearance: | data2 = Page 1, 2/2/22 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = 191919 | label5 = Pronouns: | data5 = Any | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = [[Dr. Zeller]] (Friend, former caretaker) [[Daisy]], [[Ball Pit Beast]], [[Ashley]], [[Brian]], [[Chantal]], [[The Facility's AI|AI]], [[Higher Power (HP)|HP]] (Friends) [[Stephen Bass]] (Creator) | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Kid''' or "You" is a grey child with three eyes created by [[Stephen Bass]] in the Ecopportunityx Facility in an attempt to prove he can create immortal bodies. They are also the protagonist, so they receive reader commands and do them. == Summary == {{{summary|-To be added}}} == Trivia == {{{trivia|-To be added}}} == Gallery == <gallery> File:Castkid.png|Kid Cast Image File:KidSitting.PNG|Sitting :-] </gallery> == References == <references /> [[Category:Characters]] ba804f90b678dc723915731d68f5e5f153b0951e Ball Pit Beast 0 50 149 103 2022-12-28T04:48:44Z Werewire 2 minor edit wikitext text/x-wiki {{Infobox/Character page | name = Ball Pit Beast | image = Castballpitbeastbow.png | quote = THINGS JUST ARE DIFFERENCE! NOT EVERY BALL PIT IS THE SAME. IT IS LIKE FLAKES OF SNOW! | first_appearance = Page 31, 2/15/2022 | status = Alive | highlight_color = <!-- without # --> 00ff00 | pronouns = Any | nicknames = BPB | relationships = | likes = Ball Pits | dislikes = | introduction = '''Ball Pit Beast''' appears to be a big serpent-like monster, who claims he "slipped and fell" into the EcopportunityX facility which [[Higher Power (HP)|HP]] confirms<ref>https://ecopportunityx.cfw.me/comics/92/</ref>. He has a affinity for ball pits and speaks oddly. | summary = -To be added | trivia = * No one seems to know what Ball Pit Beast "is" as [[Higher Power (HP)|HP]] claims he comes from either a level above or below where they came from<sup>[1]</sup>. Even the cast page calls him a "odd thing"<ref>https://ecopportunityx.cfw.me/cast/</ref>. | gallery = <gallery> Castballpitbeast.png|BPB's 1st cast image </gallery> }} 889bcb0154e75f6c30361bdb062aaa56c3210a6b 150 149 2023-01-11T09:01:07Z Werewire 2 grammar edit wikitext text/x-wiki {{Infobox/Character page | name = Ball Pit Beast | image = Castballpitbeastbow.png | quote = THINGS JUST ARE DIFFERENCE! NOT EVERY BALL PIT IS THE SAME. IT IS LIKE FLAKES OF SNOW! | first_appearance = Page 31, 2/15/2022 | status = Alive | highlight_color = <!-- without # --> 00ff00 | pronouns = Any | nicknames = BPB | relationships = | likes = Ball Pits | dislikes = | introduction = '''Ball Pit Beast''' appears to be a big serpent-like monster, who claims he "slipped and fell" into the EcopportunityX facility which [[Higher Power (HP)|HP]] confirms<ref>https://ecopportunityx.cfw.me/comics/92/</ref>. He has an affinity for ball pits and speaks oddly. | summary = -To be added | trivia = * No one seems to know what Ball Pit Beast "is" as [[Higher Power (HP)|HP]] claims he comes from either a level above or below where they came from<sup>[1]</sup>. Even the cast page calls him a "odd thing"<ref>https://ecopportunityx.cfw.me/cast/</ref>. | gallery = <gallery> Castballpitbeast.png|BPB's 1st cast image </gallery> }} d23e0521c30be282766e5c840361f265343f8bcd Template:See also 10 79 201 2023-01-10T01:56:06Z dev>Pppery 0 Revert to version by Wikipedia->bkonrad wikitext text/x-wiki {{hatnote|extraclasses=boilerplate seealso|{{{altphrase|See also}}}: {{#if:{{{1<includeonly>|</includeonly>}}} |<!--then:-->[[:{{{1}}}{{#if:{{{label 1|{{{l1|}}}}}}|{{!}}{{{label 1|{{{l1}}}}}}}}]] |<!--else:-->'''Error: [[Template:See also|Template must be given at least one article name]]''' }}{{#if:{{{2|}}}|{{#if:{{{3|}}}|, |&nbsp;and }} [[:{{{2}}}{{#if:{{{label 2|{{{l2|}}}}}}|{{!}}{{{label 2|{{{l2}}}}}}}}]] }}{{#if:{{{3|}}}|{{#if:{{{4|}}}|, |,&nbsp;and }} [[:{{{3}}}{{#if:{{{label 3|{{{l3|}}}}}}|{{!}}{{{label 3|{{{l3}}}}}}}}]] }}{{#if:{{{4|}}}|{{#if:{{{5|}}}|, |,&nbsp;and }} [[:{{{4}}}{{#if:{{{label 4|{{{l4|}}}}}}|{{!}}{{{label 4|{{{l4}}}}}}}}]] }}{{#if:{{{5|}}}|{{#if:{{{6|}}}|, |,&nbsp;and }} [[:{{{5}}}{{#if:{{{label 5|{{{l5|}}}}}}|{{!}}{{{label 5|{{{l5}}}}}}}}]] }}{{#if:{{{6|}}}|{{#if:{{{7|}}}|, |,&nbsp;and }} [[:{{{6}}}{{#if:{{{label 6|{{{l6|}}}}}}|{{!}}{{{label 6|{{{l6}}}}}}}}]] }}{{#if:{{{7|}}}|{{#if:{{{8|}}}|, |,&nbsp;and }} [[:{{{7}}}{{#if:{{{label 7|{{{l7|}}}}}}|{{!}}{{{label 7|{{{l7}}}}}}}}]] }}{{#if:{{{8|}}}|{{#if:{{{9|}}}|, |,&nbsp;and }} [[:{{{8}}}{{#if:{{{label 8|{{{l8|}}}}}}|{{!}}{{{label 8|{{{l8}}}}}}}}]] }}{{#if:{{{9|}}}|{{#if:{{{10|}}}|, |,&nbsp;and }} [[:{{{9}}}{{#if:{{{label 9|{{{l9|}}}}}}|{{!}}{{{label 9|{{{l9}}}}}}}}]] }}{{#if:{{{10|}}}|{{#if:{{{11|}}}|, |,&nbsp;and }} [[:{{{10}}}{{#if:{{{label 10|{{{l10|}}}}}}|{{!}}{{{label 10|{{{l10}}}}}}}}]] }}{{#if:{{{11|}}}|{{#if:{{{12|}}}|, |,&nbsp;and }} [[:{{{11}}}{{#if:{{{label 11|{{{l11|}}}}}}|{{!}}{{{label 11|{{{l11}}}}}}}}]] }}{{#if:{{{12|}}}|{{#if:{{{13|}}}|, |,&nbsp;and }} [[:{{{12}}}{{#if:{{{label 12|{{{l12|}}}}}}|{{!}}{{{label 12|{{{l12}}}}}}}}]] }}{{#if:{{{13|}}}|{{#if:{{{14|}}}|, |,&nbsp;and }} [[:{{{13}}}{{#if:{{{label 13|{{{l13|}}}}}}|{{!}}{{{label 13|{{{l13}}}}}}}}]] }}{{#if:{{{14|}}}|{{#if:{{{15|}}}|, |,&nbsp;and }} [[:{{{14}}}{{#if:{{{label 14|{{{l14|}}}}}}|{{!}}{{{label 14|{{{l14}}}}}}}}]] }}{{#if:{{{15|}}}|,&nbsp;and [[:{{{15}}}{{#if:{{{label 15|{{{l15|}}} }}}|{{!}}{{{label 15|{{{l15|}}} }}} }}]] }}{{#if:{{{16|}}}| &mdash; '''<br/>Error: [[Template:See also|Too many links specified (maximum is 15)]]''' }}}}<noinclude> {{documentation}} </noinclude> 0315f43d7e4b679054955c7a50fe554ab1df63de Template:See also/doc 10 81 207 2023-01-10T01:58:04Z dev>Pppery 0 wikitext text/x-wiki {{documentation subpage}} This template is used to create [[w:WP:Hatnotes|hatnotes]] to point to a small number of other related titles. It looks like this: {{See also|Article}} Refer to the examples below to see how the template handles link targets containing section links and commas. ==Usage== ; Basic usage: &#123;{See also|''page1''|''page2''|''page3''|...}} ; All parameters: &#123;{See also|''page1''|''page2''|''page3''| ... |label 1 = ''label 1''|label 2 = ''label2''|label 3 = ''label3''| ... |l1 = ''label1''|l2 = ''label2''|l3 = ''label3''| ... |selfref = ''yes''|category = ''no''}} ==Parameters== This template accepts the following parameters: * <code>1</code>, <code>2</code>, <code>3</code>, ... – the pages to link to. At least one page name is required. Categories and files are automatically escaped with the [[Help:Colon trick|colon trick]], and links to sections are automatically formatted as ''page § section'', rather than the MediaWiki default of ''page#section''. * <code>label 1</code>, <code>label 2</code>, <code>label 3</code>, ...; or <code>l1</code>, <code>l2</code>, <code>l3</code>, ...; optional labels for each of the pages to link to. * <code>selfref</code> – if set to "yes", "y", "true" or "1", adds the CSS class "selfref". This is used to denote self-references to Wikipedia. See [[Template:Selfref]] for more information. * <code>category</code> – if set to "no", "n", "false", or "0", suppresses the error tracking category ([[:Category:Hatnote templates with errors]]). This only has an effect if the first positional parameter (the page to link to) is omitted. == Examples == * <code><nowiki>{{See also|Article}}</nowiki></code> → {{See also|Article}} * <code><nowiki>{{See also|Article#Section}}</nowiki></code> → {{See also|Article#Section}} * <code><nowiki>{{See also|Article#Section|label 1=Custom section label}}</nowiki></code> → {{See also|Article#Section|label 1=Custom section label}} * <code><nowiki>{{See also|Article1|Article2|Article3}}</nowiki></code> → {{See also|Article1|Article2|Article3}} * <code><nowiki>{{See also|Article1|Article,2|Article3}}</nowiki></code> → {{See also|Article1|Article,2|Article3}} * <code><nowiki>{{See also|Article1|l1=Custom label 1|Article2|l2=Custom label 2}}</nowiki></code> → {{See also|Article1|l1=Custom label 1|Article2|l2=Custom label 2}} * <code><nowiki>{{See also|Veni, vidi, vici|Julius Caesar}}</nowiki></code> → {{See also|Veni, vidi, vici|Julius Caesar}} * <code><nowiki>{{See also|Veni, vidi, vici|Julius Caesar#Civil war}}</nowiki></code> → {{See also|Veni, vidi, vici|Julius Caesar#Civil war}} * <code><nowiki>{{See also|Julius Caesar#Civil war|Veni, vidi, vici}}</nowiki></code> → {{See also|Julius Caesar#Civil war|Veni, vidi, vici}} * <code><nowiki>{{See also|Julius Caesar#Civil war|Crossing the Rubicon}}</nowiki></code> → {{See also|Julius Caesar#Civil war|Crossing the Rubicon}} ==Errors== If no page names are supplied, the template outputs the following message with the (help) wikilink pointing to the "Errors" section of this page: *{{See also|category=no}} If you see this error message, it is for one of three reasons: # No parameters were specified (the template code was <code><nowiki>{{See also}}</nowiki></code> with no pipe character nor page to link to). Please use <code><nowiki>{{See also|</nowiki>''page''<nowiki>}}</nowiki></code> instead. # Some parameters were specified, but no page names were included. For example, the template text <code><nowiki>{{See also|selfref=yes}}</nowiki></code> will produce this error. Please use (for example) <code><nowiki>{{See also|</nowiki>''page''<nowiki>|selfref=yes}}</nowiki></code> instead. # A page name was specified, but it contains an equals sign ("="). The equals sign has a special meaning in template code, and because of this it cannot be used in template parameters that do not specify a parameter name. For example, the template code <code><nowiki>{{See also|1+1=2|2+2=4}}</nowiki></code> will produce this error. To work around this, you can specify the parameter name explicitly by using <code>1=</code>, <code>2</code>, etc., before the page name, like this: <code><nowiki>{{See also|1=1+1=2|2=2+2=4}}</nowiki></code>. If you see this error message and are unsure of what to do, please post a message on [[WP:HD|the help desk (WP:HD)]], and someone should be able to help you. To see a list of wikilinks to articles that contain this error message, see the [[Wikipedia:Maintenance|maintenance category]]: [[:Category:Hatnote templates with errors]]. ==TemplateData== <templatedata> { "description": "This template creates a hatnote to point to a small number of related pages. It is placed at the top of a section, directly underneath the section heading.", "params": { "1": { "label": "Page 1", "description": "The name of the first page that you want to link to.", "type": "wiki-page-name", "required": true, "example": "Article name" }, "2": { "label": "Page 2", "description": "The name of the second page that you want to link to.", "type": "wiki-page-name", "required": false }, "3": { "label": "Page 3", "description": "The name of the third page that you want to link to. More pages can be added using the parameters \"4\", \"5\", \"6\", etc.", "type": "wiki-page-name", "required": false }, "label 1": { "label": "Label 1", "type": "string", "description": "What the first linked article is to be displayed as. ", "aliases": [ "l1" ] }, "label 2": { "label": "Label 2", "type": "string", "description": "What the second linked article is to be displayed as.", "aliases": [ "l2" ] }, "label 3": { "aliases": [ "l3" ], "type": "string", "label": "Label 3", "description": "What the third linked article is to be displayed as. Other labels can be added by using increasing numbers (starting with \"label 4\" or \"l4\" for page 4) as parameter names." }, "selfref": { "type": "boolean", "label": "Self reference", "description": "Set to \"yes\" if the template is a self-reference to Wikipedia that would not make sense on mirrors or forks of the Wikipedia site.", "example": "yes", "default": "no" }, "category": { "label": "Category", "description": "Set to \"no\", \"n\", \"false\", or \"0\" to suppresses the error tracking category (Category:Hatnote templates with errors). This only has an effect if no page names are specified.", "type": "boolean", "default": "yes", "example": "no" } }, "format": "inline" } </templatedata> ==See also== <includeonly> [[Category:Templates]] </includeonly> 02774f4e6b8e9592547778c4ff1d268700853631 Module:Documentation/styles.css 828 72 203 187 2023-01-16T23:40:04Z dev>Pppery 0 text text/plain .documentation, .documentation-metadata { border: 1px solid #a2a9b1; background-color: #ecfcf4; clear: both; } .documentation { margin: 1em 0 0 0; padding: 1em; } .documentation-metadata { margin: 0.2em 0; /* same margin left-right as .documentation */ font-style: italic; padding: 0.4em 1em; /* same padding left-right as .documentation */ } .documentation-startbox { padding-bottom: 3px; border-bottom: 1px solid #aaa; margin-bottom: 1ex; } .documentation-heading { font-weight: bold; font-size: 125%; } .documentation-clear { /* Don't want things to stick out where they shouldn't. */ clear: both; } .documentation-toolbar { font-style: normal; font-size: 85%; } /* [[Category:Template stylesheets]] */ 5fb984fe8632dc068db16853a824c9f3d5175dd9 188 187 2023-03-30T08:29:47Z Werewire 2 1 revision imported: added templates text text/plain .documentation, .documentation-metadata { border: 1px solid #a2a9b1; background-color: #ecfcf4; clear: both; } .documentation { margin: 1em 0 0 0; padding: 1em; } .documentation-metadata { margin: 0.2em 0; /* same margin left-right as .documentation */ font-style: italic; padding: 0.4em 1em; /* same padding left-right as .documentation */ } .documentation-startbox { padding-bottom: 3px; border-bottom: 1px solid #aaa; margin-bottom: 1ex; } .documentation-heading { font-weight: bold; font-size: 125%; } .documentation-clear { /* Don't want things to stick out where they shouldn't. */ clear: both; } .documentation-toolbar { font-style: normal; font-size: 85%; } 37daf53a6ac29b7858ece6841d9f2d2f980a5366 File:Realending.png 6 54 153 2023-03-06T06:15:55Z Werewire 2 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 Realending 0 55 154 2023-03-06T06:21:54Z Werewire 2 basic page setup wikitext text/x-wiki [[File:realending.png|400px|right]] '''Realending''' is a extra page on Ecopportunityx that was added on April First 2022 to imply a joke ending to the comic that reverses all of the events of the comics.<ref>https://ecopportunityx.cfw.me/realending/</ref> This page is very easy to miss if you're not paying attention to the text you see on pages when you hover over the images. == References == b2859a9377caf63aef70621977bca4fa39f702e4 Template:Delete 10 56 156 155 2023-03-30T08:29:38Z Werewire 2 1 revision imported: added templates wikitext text/x-wiki {{MessageBox |Flag color=firebrick |Border color=firebrick |Background color=#FFEEEE |Image=[[File:Trash Can.svg|80px]] |Message text=<span style="line-height:2;"><span style="color:red; line-height:1.2;">'''This article is a candidate for speedy deletion because {{{1}}}. '''</span><br><span style="color:#000000;"> Deleting Reason: {{{1|No reason given}}}</span></span> }}<noinclude>[[Category:Notice templates]]</noinclude> <includeonly>[[Category:Candidates for deletion]]</includeonly> <noinclude> <languages /> <translate> <!--T:1--> == Usage Note == Add this template to any page on this wiki for which you're requesting an [[<tvar name=admin>mw:Special:MyLanguage/Manual:Administrators</tvar>|administrator]] to delete, either by adding it to the very top of the page (preferred) or by replacing the existing content with this template (also acceptable) following the format prescribed below.</translate> <code><nowiki>{{Delete|1=</nowiki>''Your deletion reason''<nowiki>}}</nowiki></code> <translate> <!--T:2--> Replace ''your deletion reason'' with one of the commonly accepted reasons for deletion below, or describe concisely ''why'' you are requesting deletion. <!--T:3--> If you do not specify a reason in parameter <code>1=</code>, ''no deletion reason'' will be inserted, and your request ''may'' be declined if it is not apparent why deletion is being requested. <!--T:4--> === Commonly accepted reasons for deletion === * Vandalism * Attack page/page created solely for harassment * Copyright violation * Spam * Test page. Please either use the [[<tvar name=sb>m:Meta:Sandbox</tvar>|community sandbox]] or [[<tvar name=mypsb>Special:MyPage/sandbox</tvar>|create your personal sandbox]] * Non-controversial housekeeping * [[<tvar name=br>Special:BrokenRedirects</tvar>|Broken redirect]] * [[<tvar name=dr>Special:DoubleRedirects</tvar>|Double redirect]] * Author requests deletion, or author blanked * Subpages with no parent page * Talk pages with no companion page and no meaningful discussion history * Images available as identical copies on either [[<tvar name=commons>commons:Special:MyLanguage/Main Page</tvar>|Miraheze Commons]] or [[wikimediacommons:|Wikimedia Commons]] * [[<tvar name=uc>Special:UnusedCategories</tvar>|Empty category]] * [[<tvar name=ut>Special:UnusedTemplates</tvar>|Unused template (including a template redirect)]] with no inlinks, transclusions, or page watchers === Parameter(s) === <!--T:5--> </translate> <templatedata> { "params": { "1": { "label": "Deletion reason", "example": "Author requests deletion, or author blanked", "default": "No deletion reason", "suggested": true, "description": "Template to add to any page requiring deletion." } } } </templatedata> </noinclude> ae465d4609d3bbb646339e90ae469c31ce34a9df Template:Mbox 10 57 158 157 2023-03-30T08:29:39Z Werewire 2 1 revision imported: added templates wikitext text/x-wiki {{#invoke:Message box|mbox}}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> c262e205f85f774a23f74119179ceea11751d68e Template:MessageBox 10 59 162 161 2023-03-30T08:29:40Z Werewire 2 1 revision imported: added templates wikitext text/x-wiki <div style="width: {{#if:{{{width|}}}|{{{width}}}|80%}}; background-color: {{#if:{{{Background color}}}|{{{Background color}}}|#f5f5f5}}; border-top: 1px solid {{#if:{{{Border color}}}|{{{Border color}}}|#aaaaaa}}; border-bottom: 1px solid {{#if:{{{Border color}}}|{{{Border color}}}|#aaaaaa}}; border-right: 1px solid {{#if:{{{Border color}}}|{{{Border color}}}|#aaaaaa}}; border-left: 12px solid {{#if:{{{Flag color}}}|{{{Flag color}}}|#aaaaaa}}; margin: 0.5em auto 0.5em;"> {| {{#if:{{{Image}}}|{{!}}style="width:93px; text-align:center; vertical-align:middle; padding-top:1px;padding-bottom:7px" {{!}} {{{Image}}} }} |style="vertical-align:middle;padding-left:3px;padding-top:10px;padding-bottom:10px;padding-right:10px; background-color: {{#if:{{{Background color}}}{{!}}{{{Background color}}}{{!}}#f5f5f5}};" | {{{Message text}}} |} </div><noinclude>[[Category:Notice templates]]</noinclude> c6727bf6179a36a5413ed93f232fd0e2f7180256 Template:Clear 10 60 164 163 2023-03-30T08:29:40Z Werewire 2 1 revision imported: added templates wikitext text/x-wiki <div style="clear:{{{1|both}}};"></div><noinclude> {{documentation}} </noinclude> 38bab3e3d7fbd3d6800d46556e60bc6bac494d72 Template:Documentation 10 61 166 165 2023-03-30T08:29:40Z Werewire 2 1 revision imported: added templates wikitext text/x-wiki {{#invoke:documentation|main|_content={{ {{#invoke:documentation|contentTitle}}}}}}<noinclude>[[Category:Templates]]</noinclude> 9885bb4fa99bf3d5b960e73606bbb8eed3026877 Template:Documentation subpage 10 62 168 167 2023-03-30T08:29:41Z Werewire 2 1 revision imported: added templates wikitext text/x-wiki <includeonly><!-- -->{{#ifeq:{{lc:{{SUBPAGENAME}}}} |{{{override|doc}}} | <!--(this template has been transcluded on a /doc or /{{{override}}} page)--> </includeonly><!-- -->{{#ifeq:{{{doc-notice|show}}} |show | {{Mbox | type = notice | style = margin-bottom:1.0em; | image = [[File:Edit-copy green.svg|40px|alt=|link=]] | text = '''This is a documentation subpage''' for '''{{{1|[[:{{SUBJECTSPACE}}:{{BASEPAGENAME}}]]}}}'''.<br/> It contains usage information, [[mw:Help:Categories|categories]] and other content that is not part of the original {{#if:{{{text2|}}} |{{{text2}}} |{{#if:{{{text1|}}} |{{{text1}}} | page}}}}. }} }}<!-- -->{{DEFAULTSORT:{{{defaultsort|{{PAGENAME}}}}}}}<!-- -->{{#if:{{{inhibit|}}} |<!--(don't categorize)--> | <includeonly><!-- -->{{#ifexist:{{NAMESPACE}}:{{BASEPAGENAME}} | [[Category:{{#switch:{{SUBJECTSPACE}} |Template=Template |Module=Module |User=User |#default=Wikipedia}} documentation pages]] | [[Category:Documentation subpages without corresponding pages]] }}<!-- --></includeonly> }}<!-- (completing initial #ifeq: at start of template:) --><includeonly> | <!--(this template has not been transcluded on a /doc or /{{{override}}} page)--> }}<!-- --></includeonly><noinclude>{{Documentation}}</noinclude> 471e685c1c643a5c6272e20e49824fffebad0448 Template:Mbox/doc 10 63 170 169 2023-03-30T08:29:41Z Werewire 2 1 revision imported: added templates wikitext text/x-wiki {{Documentation subpage}} <!-- Please add categories to the /doc subpage, and interwikis at Wikidata (see Wikipedia:Wikidata) --> {{tl|mbox}} stands '''m'''essage '''box''', which is a metatemplate used to build message boxes for other templates. It offers several different colours, images and some other features. ==Basic usage== The box below shows the most common parameters that are accepted by {{Tl|mbox}}. The purpose of each is described below. <pre style="overflow:auto;"> {{mbox | name = | small = {{{small|}}} | type = | image = | sect = {{{1|}}} | issue = | talk = {{{talk|}}} | fix = | date = {{{date|}}} | cat = | all = }} </pre> ==Full usage== The "All parameters" box shows all possible parameters for this template. However, it is not recommended to copy this, because it will never be required to use all parameters simultaneously. {| class="wikitable" align="left" style="background:transparent; width=30%;" !All parameters |- |<pre style="font-size:100%"> {{mbox | name = | small = {{{small|}}} | type = | image = | imageright = | smallimage = | smallimageright = | class = | style = | textstyle = | sect = {{{1|}}} | issue = | talk = {{{talk|}}} | fix = | date = {{{date|}}} | text = | smalltext = | plainlinks = no | removalnotice = | cat = | all = | cat2 = | all2 = | cat3 = | all3 = }} </pre> |} {{clear}} ==Common parameters== === ''name'' === The ''name'' parameter specifies the name of the template, without the Template namespace prefix. For example [[w:Template:Underlinked]] specifies {{Para|name|Underlinked}}. This parameter should be updated if the template is ever moved. The purpose of this parameter is to allow the template to have a more useful display on its template page, for example to show the date even when not specified, and to apply categorisation of the template itself. === ''small'' === The ''small'' parameter should be passed through the template, as this will allow editors to use the small format by specifying {{para|small|left}} on an article: {{mbox|nocat=true|small=left|text=This is the small left-aligned mbox format.}} Otherwise the standard format will be produced: {{mbox|nocat=true|text=This is the standard mbox format.}} Other variations: * For templates which should ''never'' be small, specify {{Para|small|no}} or do not pass the small parameter at all. * For templates which should ''always'' be small, just specify {{Para|small|left}}. * For templates which should ''default to small'', try {{para|small|<nowiki>{{{small|left}}}</nowiki>}}. This will allow an editor to override by using {{para|small|no}} on an article. To use a small box that adjusts its width to match the text, use {{para|style|width: auto; margin-right: 0px;}} and {{para|textstyle|width: auto;}} together: {{mbox|nocat=true|small=left|style=width: auto; margin-right: 0px;|textstyle=width: auto; margin-right: 0px;|text=This is the small left-aligned Ambox format with flexible width.}} See [[#Sect]] below for more information on how to limit {{para|small}} display to cases when the template is being used for a section instead of the whole article (recommended, to prevent inconsistent top-of-article display). === ''type'' === The ''type'' parameter defines the colour of the left bar, and the image that is used by default. The type is chosen not on aesthetics but is based on the type of issue that the template describes. The seven available types and their default images are shown below. {{mbox |nocat=true | type = speedy | text = type=<u>speedy</u> – Speedy deletion issues }} {{mbox |nocat=true | type = delete | text = type=<u>delete</u> – Deletion issues, }} {{mbox |nocat=true | type = content | text = type=<u>content</u> – Content issues }} {{mbox |nocat=true | type = style | text = type=<u>style</u> – Style issues }} {{mbox |nocat=true | type = notice | text = type=<u>notice</u> – Article notices {{mbox |nocat=true | type = move | text = type=<u>move</u> – Merge, split and transwiki proposals }} {{mbox |nocat=true | type = protection | text = type=<u>protection</u> – Protection notices, }} If no ''type'' parameter is given the template defaults to {{para|type|notice}}. === ''image'' === You can choose a specific image to use for the template by using the ''image'' parameter. Images are specified using the standard syntax for inserting files. Widths of 40-50px are typical. Please note: * If no image is specified then the default image corresponding to the ''type'' is used. (See [[#type]] above.) * If {{para|image|none}} is specified, then no image is used and the text uses the whole message box area. === ''sect'' === Many message templates begin with the text '''This article ...''' and it is often desirable that this wording change to '''This section ...''' if the template is used on a section instead. The value of this parameter will replace the word "article". Various possibilities for use include: {{para|sect|list}}, {{para|sect|table}}, {{para|sect|"In popular culture" material}}, etc. If using this feature, be sure to remove the first two words ("This article") from the template's text, otherwise it will be duplicated. A common way to facilitate this functionality is to pass {{para|sect|<nowiki>{{{1|}}}</nowiki>}}. This will allow editors to type <kbd>section</kbd>, for example, as the first unnamed parameter of the template to change the wording. Another approach is to pass {{para|sect|<nowiki>{{{section|{{{sect|}}}}}}</nowiki>}} to provide a named value. === ''issue'' and ''fix'' === The ''issue'' parameter is used to describe the issue with the page. Try to keep it short and to-the-point (approximately 10-20 words). The ''fix'' parameter contains some text which describes what should be done to improve the page. It may be longer than the text in ''issue'', but should not usually be more than two sentences. When the template is in its small form (when using {{para|small|left}}), the ''issue'' is the only text that will be displayed. For example [[w:Template:Citation style]] defines When used stand-alone it produces the whole text: But when used with |small=left it displays only the issue: === ''talk'' === Some message templates include a link to the talk page, and allow an editor to specify a section heading to link directly to the relevant section. To achieve this functionality, simply pass the ''talk'' parameter through, i.e. talk=<nowiki>{{{talk|}}}</nowiki> This parameter may then be used by an editor as follows: * talk=SECTION HEADING – the link will point to the specified section on the article's talk page, e.g. talk=Foo. * talk=FULL PAGE NAME – the template will link to the page specified (which may include a section anchor), e.g. talk=Talk:Banana#Foo Notes: * When this parameter is used by a template, the talk page link will appear on the template itself (in order to demonstrate the functionality) but this will only display on articles if the parameter is actually defined. * In order to make sure there is always a link to the talk page, you can use |talk=<nowiki>{{{talk|#}}}</nowiki>. * If the talk page does not exist, there will be no link, whatever the value of the parameter. === ''date'' === Passing the ''date'' parameter through to the meta-template means that the date that the article is tagged may be specified by an editor (or more commonly a bot). This will be displayed after the message in a smaller font. Passing this parameter also enables monthly cleanup categorisation when the ''cat'' parameter is also defined. === ''info'' === This parameter is for specifying additional information. Whatever you add here will appear after the date. === ''cat'' === This parameter defines a monthly cleanup category. If |cat=CATEGORY then: * articles will be placed in '''Category:CATEGORY from DATE''' if |date=DATE is specified. * articles will be placed in '''Category:CATEGORY''' if the date is not specified. For example, [[w:Template:No footnotes]] specifies |cat=Articles lacking in-text citations and so an article with the template {{Tlx|No footnotes|2=date=June 2010|SISTER=w:}} will be placed in [[w:Category:Articles lacking in-text citations from June 2010]]. The ''cat'' parameter should not be linked, nor should the prefix <code>Category:</code> be used. === ''all'' === The ''all'' parameter defines a category into which all articles should be placed. The ''all'' parameter should not be linked, nor should the prefix <code>Category:</code> be used. == Additional parameters == === ''imageright'' === An image on the right side of the message box may be specified using this parameter. The syntax is the same as for the ''image'' parameter, except that the default is no image. === ''smallimage'' and ''smallimageright'' === Images for the small format box may be specified using these parameters. They will have no effect unless {{para|small|left}} is specified. === ''class'' === Custom [[w:Cascading Style Sheets|CSS]] classes to apply to the box. If adding multiple classes, they should be space-separated. === ''style'' and ''textstyle'' === Optional CSS values may be defined, without quotation marks <code>" "</code> but with the ending semicolons <code>;</code>. * ''style'' specifies the style used by the entire message box table. This can be used to do things such as modifying the width of the box. * ''textstyle'' relates to the text cell. === ''text'' and ''smalltext'' === Instead of specifying the ''issue'' and the ''fix'' it is possible to use the ''text'' parameter instead. Customised text for the small format can be defined using ''smalltext''. === ''plainlinks'' === Normally on Wikipedia, external links have an arrow icon next to them, like this: [http://www.example.com Example.com]. However, in message boxes, the arrow icon is suppressed by default, like this: <span class="plainlinks">[http://www.example.com Example.com]</span>. To get the normal style of external link with the arrow icon, use {{para|plainlinks|no}}. === ''cat2'', ''cat3'', ''all2'', and ''all3'' === * ''cat2'' and ''cat3'' provide for additional monthly categories; see [[#cat]]. * ''all2'' and ''all3'' provide for additional categories into which all articles are placed, just like [[#all]]. == Technical notes == * If you need to use special characters in the text parameter then you need to escape them like this: <syntaxhighlight lang="xml"> {{mbox |nocat=true | text = <div> Equal sign = and a start and end brace { } work fine as they are. But here is a pipe &#124; and two end braces <nowiki>}}</nowiki>. And now a pipe and end braces <nowiki>|}}</nowiki>. </div> }} </syntaxhighlight> {{mbox |nocat=true | text = <div> Equal sign = and a start and end brace { } work fine as they are. But here is a pipe &#124; and two end braces <nowiki>}}</nowiki>. And now a pipe and end braces <nowiki>|}}</nowiki>. </div> }} * The <code>&lt;div></code> tags that surround the text in the example above are usually not needed. But if the text contains line breaks then sometimes we get weird line spacing. This especially happens when using vertical dotted lists. Then use the div tags to fix that. * The default images for this meta-template are in png format instead of svg format. The main reason is that some older web browsers have trouble with the transparent background that MediaWiki renders for svg images. The png images here have hand optimised transparent background colour so they look good in all browsers. Note that svg icons only look somewhat bad in the old browsers, thus such hand optimisation is only worth the trouble for very widely used icons. == TemplateData == <templatedata> { "params": { "1": {}, "small": { "label": "Small Mode", "description": "The small parameter should be passed through the template, as this will allow editors to use the small format by specifying |small=left on an article.", "type": "string", "suggestedvalues": [ "no", "left" ] }, "talk": {}, "date": {}, "name": { "label": "Template Name", "description": "The name parameter specifies the name of the template, without the Template namespace prefix. ", "type": "string" }, "type": {}, "image": {}, "sect": {}, "issue": {}, "fix": {}, "info": {}, "cat": {}, "all": {}, "imageright": {}, "class": {}, "text ": {}, "plainlinks": {}, "smallimage ": {}, "smallimageright": {}, "textstyle": {}, "style ": {}, "smalltext": {}, "cat2": {}, "cat3": {}, "all2": {}, "all3": {} }, "paramOrder": [ "name", "small", "type", "image", "sect", "issue", "fix", "talk", "date", "1", "info", "cat", "all", "imageright", "class", "text ", "plainlinks", "smallimage ", "smallimageright", "textstyle", "style ", "smalltext", "cat2", "cat3", "all2", "all3" ] } </templatedata> <includeonly>[[Category:Notice templates]]</includeonly> 7b00ac1be5a47eeb858d5ff75f02906ce5d85ff2 Template:Para 10 64 172 171 2023-03-30T08:29:42Z Werewire 2 1 revision imported: added templates wikitext text/x-wiki <code class="tpl-para" style="word-break:break-word;{{SAFESUBST:<noinclude />#if:{{{plain|}}}|border: none; background-color: inherit;}} {{SAFESUBST:<noinclude />#if:{{{style|}}}|{{{style}}}}}">&#124;{{SAFESUBST:<noinclude />#if:{{{1|}}}|{{{1}}}&#61;}}{{{2|}}}</code><noinclude> {{Documentation}} <!--Categories and interwikis go near the bottom of the /doc subpage.--> </noinclude> 7be5bee75307eae9342bbb9ff3a613e93e93d5a7 Template:Template link 10 65 174 173 2023-03-30T08:29:42Z Werewire 2 1 revision imported: added templates wikitext text/x-wiki &#123;&#123;[[Template:{{{1}}}|{{{1}}}]]&#125;&#125;<noinclude>{{documentation}} <!-- Categories go on the /doc subpage and interwikis go on Wikidata. --> </noinclude> eabbec62efe3044a98ebb3ce9e7d4d43c222351d Template:Template link expanded 10 66 176 175 2023-03-30T08:29:43Z Werewire 2 1 revision imported: added templates wikitext text/x-wiki <code><nowiki>{{</nowiki>{{#if:{{{subst|}}} |[[Help:Substitution|subst]]:}}<!-- -->[[{{{sister|{{{SISTER|}}}}}}{{ns:Template}}:{{{1|}}}|{{{1|}}}]]<!-- -->{{#if:{{{2|}}} |&#124;{{{2}}}}}<!-- -->{{#if:{{{3|}}} |&#124;{{{3}}}}}<!-- -->{{#if:{{{4|}}} |&#124;{{{4}}}}}<!-- -->{{#if:{{{5|}}} |&#124;{{{5}}}}}<!-- -->{{#if:{{{6|}}} |&#124;{{{6}}}}}<!-- -->{{#if:{{{7|}}} |&#124;{{{7}}}}}<!-- -->{{#if:{{{8|}}} |&#124;{{{8}}}}}<!-- -->{{#if:{{{9|}}} |&#124;{{{9}}}}}<!-- -->{{#if:{{{10|}}} |&#124;{{{10}}}}}<!-- -->{{#if:{{{11|}}} |&#124;{{{11}}}}}<!-- -->{{#if:{{{12|}}} |&#124;{{{12}}}}}<!-- -->{{#if:{{{13|}}} |&#124;{{{13}}}}}<!-- -->{{#if:{{{14|}}} |&#124;{{{14}}}}}<!-- -->{{#if:{{{15|}}} |&#124;{{{15}}}}}<!-- -->{{#if:{{{16|}}} |&#124;{{{16}}}}}<!-- -->{{#if:{{{17|}}} |&#124;{{{17}}}}}<!-- -->{{#if:{{{18|}}} |&#124;{{{18}}}}}<!-- -->{{#if:{{{19|}}} |&#124;{{{19}}}}}<!-- -->{{#if:{{{20|}}} |&#124;{{{20}}}}}<!-- -->{{#if:{{{21|}}} |&#124;''...''}}<!-- --><nowiki>}}</nowiki></code><noinclude> {{Documentation}} </noinclude> 9f670205d4b358df089b1a820f78f02a88afca3a Template:Tl 10 67 178 177 2023-03-30T08:29:43Z Werewire 2 1 revision imported: added templates wikitext text/x-wiki #REDIRECT [[Template:Template link]] fb9a6b420e13178e581af6e7d64274cd30a79017 Template:Tlx 10 68 180 179 2023-03-30T08:29:43Z Werewire 2 1 revision imported: added templates wikitext text/x-wiki #REDIRECT [[Template:Template link expanded]] 155e901040104f96908f1f4627c4eb3501301bf9 Module:Arguments 828 69 182 181 2023-03-30T08:29:44Z Werewire 2 1 revision imported: added templates Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end local function matchesTitle(given, title) local tp = type( given ) return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title end local translate_mt = { __index = function(t, k) return k end } function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} --[[ -- Set up argument translation. --]] options.translate = options.translate or {} if getmetatable(options.translate) == nil then setmetatable(options.translate, translate_mt) end if options.backtranslate == nil then options.backtranslate = {} for k,v in pairs(options.translate) do options.backtranslate[v] = k end end if options.backtranslate and getmetatable(options.backtranslate) == nil then setmetatable(options.backtranslate, { __index = function(t, k) if options.translate[k] ~= k then return nil else return k end end }) end --[[ -- Get the argument tables. If we were passed a valid frame object, get the -- frame arguments (fargs) and the parent frame arguments (pargs), depending -- on the options set and on the parent frame's availability. If we weren't -- passed a valid frame object, we are being called from another Lua module -- or from the debug console, so assume that we were passed a table of args -- directly, and assign it to a new variable (luaArgs). --]] local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if options.wrappers then --[[ -- The wrappers option makes Module:Arguments look up arguments in -- either the frame argument table or the parent argument table, but -- not both. This means that users can use either the #invoke syntax -- or a wrapper template without the loss of performance associated -- with looking arguments up in both the frame and the parent frame. -- Module:Arguments will look up arguments in the parent frame -- if it finds the parent frame's title in options.wrapper; -- otherwise it will look up arguments in the frame object passed -- to getArgs. --]] local parent = frame:getParent() if not parent then fargs = frame.args else local title = parent:getTitle():gsub('/sandbox$', '') local found = false if matchesTitle(options.wrappers, title) then found = true elseif type(options.wrappers) == 'table' then for _,v in pairs(options.wrappers) do if matchesTitle(v, title) then found = true break end end end -- We test for false specifically here so that nil (the default) acts like true. if found or options.frameOnly == false then pargs = parent.args end if not found or options.parentOnly == false then fargs = frame.args end end else -- options.wrapper isn't set, so check the other options. if not options.parentOnly then fargs = frame.args end if not options.frameOnly then local parent = frame:getParent() pargs = parent and parent.args or nil end end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set the order of precedence of the argument tables. If the variables are -- nil, nothing will be added to the table, which is how we avoid clashes -- between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Generate the tidyVal function. If it has been specified by the user, we -- use that; if not, we choose one of four functions depending on the -- options chosen. This is so that we don't have to call the options table -- every time the function is called. --]] local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error( "bad value assigned to option 'valueFunc'" .. '(function expected, got ' .. type(tidyVal) .. ')', 2 ) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end --[[ -- Set up the args, metaArgs and nilArgs tables. args will be the one -- accessed from functions, and metaArgs will hold the actual arguments. Nil -- arguments are memoized in nilArgs, and the metatable connects all of them -- together. --]] local args, metaArgs, nilArgs, metatable = {}, {}, {}, {} setmetatable(args, metatable) local function mergeArgs(tables) --[[ -- Accepts multiple tables as input and merges their keys and values -- into one table. If a value is already present it is not overwritten; -- tables listed earlier have precedence. We are also memoizing nil -- values, which can be overwritten if they are 's' (soft). --]] for _, t in ipairs(tables) do for key, val in pairs(t) do if metaArgs[key] == nil and nilArgs[key] ~= 'h' then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then nilArgs[key] = 's' else metaArgs[key] = tidiedVal end end end end end --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, -- and are only fetched from the argument tables once. Fetching arguments -- from the argument tables is the most resource-intensive step in this -- module, so we try and avoid it where possible. For this reason, nil -- arguments are also memoized, in the nilArgs table. Also, we keep a record -- in the metatable of when pairs and ipairs have been called, so we do not -- run pairs and ipairs on the argument tables more than once. We also do -- not run ipairs on fargs and pargs if pairs has already been run, as all -- the arguments will already have been copied over. --]] metatable.__index = function (t, key) --[[ -- Fetches an argument when the args table is indexed. First we check -- to see if the value is memoized, and if not we try and fetch it from -- the argument tables. When we check memoization, we need to check -- metaArgs before nilArgs, as both can be non-nil at the same time. -- If the argument is not present in metaArgs, we also check whether -- pairs has been run yet. If pairs has already been run, we return nil. -- This is because all the arguments will have already been copied into -- metaArgs by the mergeArgs function, meaning that any other arguments -- must be nil. --]] if type(key) == 'string' then key = options.translate[key] end local val = metaArgs[key] if val ~= nil then return val elseif metatable.donePairs or nilArgs[key] then return nil end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal ~= nil then metaArgs[key] = argTableVal return argTableVal end end nilArgs[key] = 'h' return nil end metatable.__newindex = function (t, key, val) -- This function is called when a module tries to add a new value to the -- args table, or tries to change an existing value. if type(key) == 'string' then key = options.translate[key] end if options.readOnly then error( 'could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2 ) elseif options.noOverwrite and args[key] ~= nil then error( 'could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2 ) elseif val == nil then --[[ -- If the argument is to be overwritten with nil, we need to erase -- the value in metaArgs, so that __index, __pairs and __ipairs do -- not use a previous existing value, if present; and we also need -- to memoize the nil in nilArgs, so that the value isn't looked -- up in the argument tables if it is accessed again. --]] metaArgs[key] = nil nilArgs[key] = 'h' else metaArgs[key] = val end end local function translatenext(invariant) local k, v = next(invariant.t, invariant.k) invariant.k = k if k == nil then return nil elseif type(k) ~= 'string' or not options.backtranslate then return k, v else local backtranslate = options.backtranslate[k] if backtranslate == nil then -- Skip this one. This is a tail call, so this won't cause stack overflow return translatenext(invariant) else return backtranslate, v end end end metatable.__pairs = function () -- Called when pairs is run on the args table. if not metatable.donePairs then mergeArgs(argTables) metatable.donePairs = true end return translatenext, { t = metaArgs } end local function inext(t, i) -- This uses our __index metamethod local v = t[i + 1] if v ~= nil then return i + 1, v end end metatable.__ipairs = function (t) -- Called when ipairs is run on the args table. return inext, t, 0 end return args end return arguments 3134ecce8429b810d445e29eae115e2ae4c36c53 Module:Documentation 828 70 184 183 2023-03-30T08:29:45Z Werewire 2 1 revision imported: added templates Scribunto text/plain -- This module implements {{documentation}}. -- Get required modules. local getArgs = require('Module:Arguments').getArgs -- Get the config table. local cfg = mw.loadData('Module:Documentation/config') local p = {} -- Often-used functions. local ugsub = mw.ustring.gsub ---------------------------------------------------------------------------- -- Helper functions -- -- These are defined as local functions, but are made available in the p -- table for testing purposes. ---------------------------------------------------------------------------- local function message(cfgKey, valArray, expectType) --[[ -- Gets a message from the cfg table and formats it if appropriate. -- The function raises an error if the value from the cfg table is not -- of the type expectType. The default type for expectType is 'string'. -- If the table valArray is present, strings such as $1, $2 etc. in the -- message are substituted with values from the table keys [1], [2] etc. -- For example, if the message "foo-message" had the value 'Foo $2 bar $1.', -- message('foo-message', {'baz', 'qux'}) would return "Foo qux bar baz." --]] local msg = cfg[cfgKey] expectType = expectType or 'string' if type(msg) ~= expectType then error('message: type error in message cfg.' .. cfgKey .. ' (' .. expectType .. ' expected, got ' .. type(msg) .. ')', 2) end if not valArray then return msg end local function getMessageVal(match) match = tonumber(match) return valArray[match] or error('message: no value found for key $' .. match .. ' in message cfg.' .. cfgKey, 4) end return ugsub(msg, '$([1-9][0-9]*)', getMessageVal) end p.message = message local function makeWikilink(page, display) if display then return mw.ustring.format('[[%s|%s]]', page, display) else return mw.ustring.format('[[%s]]', page) end end p.makeWikilink = makeWikilink local function makeCategoryLink(cat, sort) local catns = mw.site.namespaces[14].name return makeWikilink(catns .. ':' .. cat, sort) end p.makeCategoryLink = makeCategoryLink local function makeUrlLink(url, display) return mw.ustring.format('[%s %s]', url, display) end p.makeUrlLink = makeUrlLink local function makeToolbar(...) local ret = {} local lim = select('#', ...) if lim < 1 then return nil end for i = 1, lim do ret[#ret + 1] = select(i, ...) end -- 'documentation-toolbar' return '<span class="' .. message('toolbar-class') .. '">(' .. table.concat(ret, ' &#124; ') .. ')</span>' end p.makeToolbar = makeToolbar ---------------------------------------------------------------------------- -- Argument processing ---------------------------------------------------------------------------- local function makeInvokeFunc(funcName) return function (frame) local args = getArgs(frame, { valueFunc = function (key, value) if type(value) == 'string' then value = value:match('^%s*(.-)%s*$') -- Remove whitespace. if key == 'heading' or value ~= '' then return value else return nil end else return value end end }) return p[funcName](args) end end ---------------------------------------------------------------------------- -- Entry points ---------------------------------------------------------------------------- function p.nonexistent(frame) if mw.title.getCurrentTitle().subpageText == 'testcases' then return frame:expandTemplate{title = 'module test cases notice'} else return p.main(frame) end end p.main = makeInvokeFunc('_main') function p._main(args) --[[ -- This function defines logic flow for the module. -- @args - table of arguments passed by the user --]] local env = p.getEnvironment(args) local root = mw.html.create() root :tag('div') -- 'documentation-container' :addClass(message('container')) :attr('role', 'complementary') :attr('aria-labelledby', args.heading ~= '' and 'documentation-heading' or nil) :attr('aria-label', args.heading == '' and 'Documentation' or nil) :newline() :tag('div') -- 'documentation' :addClass(message('main-div-classes')) :newline() :wikitext(p._startBox(args, env)) :wikitext(p._content(args, env)) :tag('div') -- 'documentation-clear' :addClass(message('clear')) :done() :newline() :done() :wikitext(p._endBox(args, env)) :done() :wikitext(p.addTrackingCategories(env)) -- 'Module:Documentation/styles.css' return mw.getCurrentFrame():extensionTag ( 'templatestyles', '', {src=cfg['templatestyles'] }) .. tostring(root) end ---------------------------------------------------------------------------- -- Environment settings ---------------------------------------------------------------------------- function p.getEnvironment(args) --[[ -- Returns a table with information about the environment, including title -- objects and other namespace- or path-related data. -- @args - table of arguments passed by the user -- -- Title objects include: -- env.title - the page we are making documentation for (usually the current title) -- env.templateTitle - the template (or module, file, etc.) -- env.docTitle - the /doc subpage. -- env.sandboxTitle - the /sandbox subpage. -- env.testcasesTitle - the /testcases subpage. -- -- Data includes: -- env.subjectSpace - the number of the title's subject namespace. -- env.docSpace - the number of the namespace the title puts its documentation in. -- env.docpageBase - the text of the base page of the /doc, /sandbox and /testcases pages, with namespace. -- env.compareUrl - URL of the Special:ComparePages page comparing the sandbox with the template. -- -- All table lookups are passed through pcall so that errors are caught. If an error occurs, the value -- returned will be nil. --]] local env, envFuncs = {}, {} -- Set up the metatable. If triggered we call the corresponding function in the envFuncs table. The value -- returned by that function is memoized in the env table so that we don't call any of the functions -- more than once. (Nils won't be memoized.) setmetatable(env, { __index = function (t, key) local envFunc = envFuncs[key] if envFunc then local success, val = pcall(envFunc) if success then env[key] = val -- Memoise the value. return val end end return nil end }) function envFuncs.title() -- The title object for the current page, or a test page passed with args.page. local title local titleArg = args.page if titleArg then title = mw.title.new(titleArg) else title = mw.title.getCurrentTitle() end return title end function envFuncs.templateTitle() --[[ -- The template (or module, etc.) title object. -- Messages: -- 'sandbox-subpage' --> 'sandbox' -- 'testcases-subpage' --> 'testcases' --]] local subjectSpace = env.subjectSpace local title = env.title local subpage = title.subpageText if subpage == message('sandbox-subpage') or subpage == message('testcases-subpage') then return mw.title.makeTitle(subjectSpace, title.baseText) else return mw.title.makeTitle(subjectSpace, title.text) end end function envFuncs.docTitle() --[[ -- Title object of the /doc subpage. -- Messages: -- 'doc-subpage' --> 'doc' --]] local title = env.title local docname = args[1] -- User-specified doc page. local docpage if docname then docpage = docname else docpage = env.docpageBase .. '/' .. message('doc-subpage') end return mw.title.new(docpage) end function envFuncs.sandboxTitle() --[[ -- Title object for the /sandbox subpage. -- Messages: -- 'sandbox-subpage' --> 'sandbox' --]] return mw.title.new(env.docpageBase .. '/' .. message('sandbox-subpage')) end function envFuncs.testcasesTitle() --[[ -- Title object for the /testcases subpage. -- Messages: -- 'testcases-subpage' --> 'testcases' --]] return mw.title.new(env.docpageBase .. '/' .. message('testcases-subpage')) end function envFuncs.subjectSpace() -- The subject namespace number. return mw.site.namespaces[env.title.namespace].subject.id end function envFuncs.docSpace() -- The documentation namespace number. For most namespaces this is the -- same as the subject namespace. However, pages in the Article, File, -- MediaWiki or Category namespaces must have their /doc, /sandbox and -- /testcases pages in talk space. local subjectSpace = env.subjectSpace if subjectSpace == 0 or subjectSpace == 6 or subjectSpace == 8 or subjectSpace == 14 then return subjectSpace + 1 else return subjectSpace end end function envFuncs.docpageBase() -- The base page of the /doc, /sandbox, and /testcases subpages. -- For some namespaces this is the talk page, rather than the template page. local templateTitle = env.templateTitle local docSpace = env.docSpace local docSpaceText = mw.site.namespaces[docSpace].name -- Assemble the link. docSpace is never the main namespace, so we can hardcode the colon. return docSpaceText .. ':' .. templateTitle.text end function envFuncs.compareUrl() -- Diff link between the sandbox and the main template using [[Special:ComparePages]]. local templateTitle = env.templateTitle local sandboxTitle = env.sandboxTitle if templateTitle.exists and sandboxTitle.exists then local compareUrl = mw.uri.fullUrl( 'Special:ComparePages', { page1 = templateTitle.prefixedText, page2 = sandboxTitle.prefixedText} ) return tostring(compareUrl) else return nil end end return env end ---------------------------------------------------------------------------- -- Start box ---------------------------------------------------------------------------- p.startBox = makeInvokeFunc('_startBox') function p._startBox(args, env) --[[ -- This function generates the start box. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- The actual work is done by p.makeStartBoxLinksData and p.renderStartBoxLinks which make -- the [view] [edit] [history] [purge] links, and by p.makeStartBoxData and p.renderStartBox -- which generate the box HTML. --]] env = env or p.getEnvironment(args) local links local content = args.content if not content or args[1] then -- No need to include the links if the documentation is on the template page itself. local linksData = p.makeStartBoxLinksData(args, env) if linksData then links = p.renderStartBoxLinks(linksData) end end -- Generate the start box html. local data = p.makeStartBoxData(args, env, links) if data then return p.renderStartBox(data) else -- User specified no heading. return nil end end function p.makeStartBoxLinksData(args, env) --[[ -- Does initial processing of data to make the [view] [edit] [history] [purge] links. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'view-link-display' --> 'view' -- 'edit-link-display' --> 'edit' -- 'history-link-display' --> 'history' -- 'purge-link-display' --> 'purge' -- 'module-preload' --> 'Template:Documentation/preload-module-doc' -- 'docpage-preload' --> 'Template:Documentation/preload' -- 'create-link-display' --> 'create' --]] local subjectSpace = env.subjectSpace local title = env.title local docTitle = env.docTitle if not title or not docTitle then return nil end if docTitle.isRedirect then docTitle = docTitle.redirectTarget end local data = {} data.title = title data.docTitle = docTitle -- View, display, edit, and purge links if /doc exists. data.viewLinkDisplay = message('view-link-display') data.editLinkDisplay = message('edit-link-display') data.historyLinkDisplay = message('history-link-display') data.purgeLinkDisplay = message('purge-link-display') -- Create link if /doc doesn't exist. local preload = args.preload if not preload then if subjectSpace == 828 then -- Module namespace preload = message('module-preload') else preload = message('docpage-preload') end end data.preload = preload data.createLinkDisplay = message('create-link-display') return data end function p.renderStartBoxLinks(data) --[[ -- Generates the [view][edit][history][purge] or [create][purge] links from the data table. -- @data - a table of data generated by p.makeStartBoxLinksData --]] local function escapeBrackets(s) -- Escapes square brackets with HTML entities. s = s:gsub('%[', '&#91;') -- Replace square brackets with HTML entities. s = s:gsub('%]', '&#93;') return s end local ret local docTitle = data.docTitle local title = data.title local purgeLink = makeUrlLink(title:fullUrl{action = 'purge'}, data.purgeLinkDisplay) if docTitle.exists then local viewLink = makeWikilink(docTitle.prefixedText, data.viewLinkDisplay) local editLink = makeUrlLink(docTitle:fullUrl{action = 'edit'}, data.editLinkDisplay) local historyLink = makeUrlLink(docTitle:fullUrl{action = 'history'}, data.historyLinkDisplay) ret = '[%s] [%s] [%s] [%s]' ret = escapeBrackets(ret) ret = mw.ustring.format(ret, viewLink, editLink, historyLink, purgeLink) else local createLink = makeUrlLink(docTitle:fullUrl{action = 'edit', preload = data.preload}, data.createLinkDisplay) ret = '[%s] [%s]' ret = escapeBrackets(ret) ret = mw.ustring.format(ret, createLink, purgeLink) end return ret end function p.makeStartBoxData(args, env, links) --[=[ -- Does initial processing of data to pass to the start-box render function, p.renderStartBox. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- @links - a string containing the [view][edit][history][purge] links - could be nil if there's an error. -- -- Messages: -- 'documentation-icon-wikitext' --> '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]' -- 'template-namespace-heading' --> 'Template documentation' -- 'module-namespace-heading' --> 'Module documentation' -- 'file-namespace-heading' --> 'Summary' -- 'other-namespaces-heading' --> 'Documentation' -- 'testcases-create-link-display' --> 'create' --]=] local subjectSpace = env.subjectSpace if not subjectSpace then -- Default to an "other namespaces" namespace, so that we get at least some output -- if an error occurs. subjectSpace = 2 end local data = {} -- Heading local heading = args.heading -- Blank values are not removed. if heading == '' then -- Don't display the start box if the heading arg is defined but blank. return nil end if heading then data.heading = heading elseif subjectSpace == 10 then -- Template namespace data.heading = message('documentation-icon-wikitext') .. ' ' .. message('template-namespace-heading') elseif subjectSpace == 828 then -- Module namespace data.heading = message('documentation-icon-wikitext') .. ' ' .. message('module-namespace-heading') elseif subjectSpace == 6 then -- File namespace data.heading = message('file-namespace-heading') else data.heading = message('other-namespaces-heading') end -- Heading CSS local headingStyle = args['heading-style'] if headingStyle then data.headingStyleText = headingStyle else -- 'documentation-heading' data.headingClass = message('main-div-heading-class') end -- Data for the [view][edit][history][purge] or [create] links. if links then -- 'mw-editsection-like plainlinks' data.linksClass = message('start-box-link-classes') data.links = links end return data end function p.renderStartBox(data) -- Renders the start box html. -- @data - a table of data generated by p.makeStartBoxData. local sbox = mw.html.create('div') sbox -- 'documentation-startbox' :addClass(message('start-box-class')) :newline() :tag('span') :addClass(data.headingClass) :attr('id', 'documentation-heading') :cssText(data.headingStyleText) :wikitext(data.heading) local links = data.links if links then sbox:tag('span') :addClass(data.linksClass) :attr('id', data.linksId) :wikitext(links) end return tostring(sbox) end ---------------------------------------------------------------------------- -- Documentation content ---------------------------------------------------------------------------- p.content = makeInvokeFunc('_content') function p._content(args, env) -- Displays the documentation contents -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment env = env or p.getEnvironment(args) local docTitle = env.docTitle local content = args.content if not content and docTitle and docTitle.exists then content = args._content or mw.getCurrentFrame():expandTemplate{title = docTitle.prefixedText} end -- The line breaks below are necessary so that "=== Headings ===" at the start and end -- of docs are interpreted correctly. return '\n' .. (content or '') .. '\n' end p.contentTitle = makeInvokeFunc('_contentTitle') function p._contentTitle(args, env) env = env or p.getEnvironment(args) local docTitle = env.docTitle if not args.content and docTitle and docTitle.exists then return docTitle.prefixedText else return '' end end ---------------------------------------------------------------------------- -- End box ---------------------------------------------------------------------------- p.endBox = makeInvokeFunc('_endBox') function p._endBox(args, env) --[=[ -- This function generates the end box (also known as the link box). -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- --]=] -- Get environment data. env = env or p.getEnvironment(args) local subjectSpace = env.subjectSpace local docTitle = env.docTitle if not subjectSpace or not docTitle then return nil end -- Check whether we should output the end box at all. Add the end -- box by default if the documentation exists or if we are in the -- user, module or template namespaces. local linkBox = args['link box'] if linkBox == 'off' or not ( docTitle.exists or subjectSpace == 2 or subjectSpace == 828 or subjectSpace == 10 ) then return nil end -- Assemble the link box. local text = '' if linkBox then text = text .. linkBox else text = text .. (p.makeDocPageBlurb(args, env) or '') -- "This documentation is transcluded from [[Foo]]." if subjectSpace == 2 or subjectSpace == 10 or subjectSpace == 828 then -- We are in the user, template or module namespaces. -- Add sandbox and testcases links. -- "Editors can experiment in this template's sandbox and testcases pages." text = text .. (p.makeExperimentBlurb(args, env) or '') .. '<br />' if not args.content and not args[1] then -- "Please add categories to the /doc subpage." -- Don't show this message with inline docs or with an explicitly specified doc page, -- as then it is unclear where to add the categories. text = text .. (p.makeCategoriesBlurb(args, env) or '') end text = text .. ' ' .. (p.makeSubpagesBlurb(args, env) or '') --"Subpages of this template" end end local box = mw.html.create('div') -- 'documentation-metadata' box:attr('role', 'note') :addClass(message('end-box-class')) -- 'plainlinks' :addClass(message('end-box-plainlinks')) :wikitext(text) :done() return '\n' .. tostring(box) end function p.makeDocPageBlurb(args, env) --[=[ -- Makes the blurb "This documentation is transcluded from [[Template:Foo]] (edit, history)". -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'edit-link-display' --> 'edit' -- 'history-link-display' --> 'history' -- 'transcluded-from-blurb' --> -- 'The above [[Wikipedia:Template documentation|documentation]] -- is [[Help:Transclusion|transcluded]] from $1.' -- 'module-preload' --> 'Template:Documentation/preload-module-doc' -- 'create-link-display' --> 'create' -- 'create-module-doc-blurb' --> -- 'You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].' --]=] local docTitle = env.docTitle if not docTitle then return nil end local ret if docTitle.exists then -- /doc exists; link to it. local docLink = makeWikilink(docTitle.prefixedText) local editUrl = docTitle:fullUrl{action = 'edit'} local editDisplay = message('edit-link-display') local editLink = makeUrlLink(editUrl, editDisplay) local historyUrl = docTitle:fullUrl{action = 'history'} local historyDisplay = message('history-link-display') local historyLink = makeUrlLink(historyUrl, historyDisplay) ret = message('transcluded-from-blurb', {docLink}) .. ' ' .. makeToolbar(editLink, historyLink) .. '<br />' elseif env.subjectSpace == 828 then -- /doc does not exist; ask to create it. local createUrl = docTitle:fullUrl{action = 'edit', preload = message('module-preload')} local createDisplay = message('create-link-display') local createLink = makeUrlLink(createUrl, createDisplay) ret = message('create-module-doc-blurb', {createLink}) .. '<br />' end return ret end function p.makeExperimentBlurb(args, env) --[[ -- Renders the text "Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages." -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'sandbox-link-display' --> 'sandbox' -- 'sandbox-edit-link-display' --> 'edit' -- 'compare-link-display' --> 'diff' -- 'module-sandbox-preload' --> 'Template:Documentation/preload-module-sandbox' -- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox' -- 'sandbox-create-link-display' --> 'create' -- 'mirror-edit-summary' --> 'Create sandbox version of $1' -- 'mirror-link-display' --> 'mirror' -- 'mirror-link-preload' --> 'Template:Documentation/mirror' -- 'sandbox-link-display' --> 'sandbox' -- 'testcases-link-display' --> 'testcases' -- 'testcases-edit-link-display'--> 'edit' -- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox' -- 'testcases-create-link-display' --> 'create' -- 'testcases-link-display' --> 'testcases' -- 'testcases-edit-link-display' --> 'edit' -- 'module-testcases-preload' --> 'Template:Documentation/preload-module-testcases' -- 'template-testcases-preload' --> 'Template:Documentation/preload-testcases' -- 'experiment-blurb-module' --> 'Editors can experiment in this module's $1 and $2 pages.' -- 'experiment-blurb-template' --> 'Editors can experiment in this template's $1 and $2 pages.' --]] local subjectSpace = env.subjectSpace local templateTitle = env.templateTitle local sandboxTitle = env.sandboxTitle local testcasesTitle = env.testcasesTitle local templatePage = templateTitle.prefixedText if not subjectSpace or not templateTitle or not sandboxTitle or not testcasesTitle then return nil end -- Make links. local sandboxLinks, testcasesLinks if sandboxTitle.exists then local sandboxPage = sandboxTitle.prefixedText local sandboxDisplay = message('sandbox-link-display') local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay) local sandboxEditUrl = sandboxTitle:fullUrl{action = 'edit'} local sandboxEditDisplay = message('sandbox-edit-link-display') local sandboxEditLink = makeUrlLink(sandboxEditUrl, sandboxEditDisplay) local compareUrl = env.compareUrl local compareLink if compareUrl then local compareDisplay = message('compare-link-display') compareLink = makeUrlLink(compareUrl, compareDisplay) end sandboxLinks = sandboxLink .. ' ' .. makeToolbar(sandboxEditLink, compareLink) else local sandboxPreload if subjectSpace == 828 then sandboxPreload = message('module-sandbox-preload') else sandboxPreload = message('template-sandbox-preload') end local sandboxCreateUrl = sandboxTitle:fullUrl{action = 'edit', preload = sandboxPreload} local sandboxCreateDisplay = message('sandbox-create-link-display') local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay) local mirrorSummary = message('mirror-edit-summary', {makeWikilink(templatePage)}) local mirrorPreload = message('mirror-link-preload') local mirrorUrl = sandboxTitle:fullUrl{action = 'edit', preload = mirrorPreload, summary = mirrorSummary} if subjectSpace == 828 then mirrorUrl = sandboxTitle:fullUrl{action = 'edit', preload = templateTitle.prefixedText, summary = mirrorSummary} end local mirrorDisplay = message('mirror-link-display') local mirrorLink = makeUrlLink(mirrorUrl, mirrorDisplay) sandboxLinks = message('sandbox-link-display') .. ' ' .. makeToolbar(sandboxCreateLink, mirrorLink) end if testcasesTitle.exists then local testcasesPage = testcasesTitle.prefixedText local testcasesDisplay = message('testcases-link-display') local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay) local testcasesEditUrl = testcasesTitle:fullUrl{action = 'edit'} local testcasesEditDisplay = message('testcases-edit-link-display') local testcasesEditLink = makeUrlLink(testcasesEditUrl, testcasesEditDisplay) -- for Modules, add testcases run link if exists if testcasesTitle.contentModel == "Scribunto" and testcasesTitle.talkPageTitle and testcasesTitle.talkPageTitle.exists then local testcasesRunLinkDisplay = message('testcases-run-link-display') local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay) testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink, testcasesRunLink) else testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink) end else local testcasesPreload if subjectSpace == 828 then testcasesPreload = message('module-testcases-preload') else testcasesPreload = message('template-testcases-preload') end local testcasesCreateUrl = testcasesTitle:fullUrl{action = 'edit', preload = testcasesPreload} local testcasesCreateDisplay = message('testcases-create-link-display') local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay) testcasesLinks = message('testcases-link-display') .. ' ' .. makeToolbar(testcasesCreateLink) end local messageName if subjectSpace == 828 then messageName = 'experiment-blurb-module' else messageName = 'experiment-blurb-template' end return message(messageName, {sandboxLinks, testcasesLinks}) end function p.makeCategoriesBlurb(args, env) --[[ -- Generates the text "Please add categories to the /doc subpage." -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'doc-link-display' --> '/doc' -- 'add-categories-blurb' --> 'Please add categories to the $1 subpage.' --]] local docTitle = env.docTitle if not docTitle then return nil end local docPathLink = makeWikilink(docTitle.prefixedText, message('doc-link-display')) return message('add-categories-blurb', {docPathLink}) end function p.makeSubpagesBlurb(args, env) --[[ -- Generates the "Subpages of this template" link. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'template-pagetype' --> 'template' -- 'module-pagetype' --> 'module' -- 'default-pagetype' --> 'page' -- 'subpages-link-display' --> 'Subpages of this $1' --]] local subjectSpace = env.subjectSpace local templateTitle = env.templateTitle if not subjectSpace or not templateTitle then return nil end local pagetype if subjectSpace == 10 then pagetype = message('template-pagetype') elseif subjectSpace == 828 then pagetype = message('module-pagetype') else pagetype = message('default-pagetype') end local subpagesLink = makeWikilink( 'Special:PrefixIndex/' .. templateTitle.prefixedText .. '/', message('subpages-link-display', {pagetype}) ) return message('subpages-blurb', {subpagesLink}) end ---------------------------------------------------------------------------- -- Tracking categories ---------------------------------------------------------------------------- function p.addTrackingCategories(env) --[[ -- Check if {{documentation}} is transcluded on a /doc or /testcases page. -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'display-strange-usage-category' --> true -- 'doc-subpage' --> 'doc' -- 'testcases-subpage' --> 'testcases' -- 'strange-usage-category' --> 'Wikipedia pages with strange ((documentation)) usage' -- -- /testcases pages in the module namespace are not categorised, as they may have -- {{documentation}} transcluded automatically. --]] local title = env.title local subjectSpace = env.subjectSpace if not title or not subjectSpace then return nil end local subpage = title.subpageText local ret = '' if message('display-strange-usage-category', nil, 'boolean') and ( subpage == message('doc-subpage') or subjectSpace ~= 828 and subpage == message('testcases-subpage') ) then ret = ret .. makeCategoryLink(message('strange-usage-category')) end return ret end return p 78cc3a78f2b5dbb267fa16027c0800a22dbd3c42 Module:Documentation/config 828 71 186 185 2023-03-30T08:29:46Z Werewire 2 1 revision imported: added templates Scribunto text/plain ---------------------------------------------------------------------------------------------------- -- -- Configuration for Module:Documentation -- -- Here you can set the values of the parameters and messages used in Module:Documentation to -- localise it to your wiki and your language. Unless specified otherwise, values given here -- should be string values. ---------------------------------------------------------------------------------------------------- local cfg = {} -- Do not edit this line. ---------------------------------------------------------------------------------------------------- -- Start box configuration ---------------------------------------------------------------------------------------------------- -- cfg['documentation-icon-wikitext'] -- The wikitext for the icon shown at the top of the template. cfg['documentation-icon-wikitext'] = '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]' -- cfg['template-namespace-heading'] -- The heading shown in the template namespace. cfg['template-namespace-heading'] = 'Template documentation' -- cfg['module-namespace-heading'] -- The heading shown in the module namespace. cfg['module-namespace-heading'] = 'Module documentation' -- cfg['file-namespace-heading'] -- The heading shown in the file namespace. cfg['file-namespace-heading'] = 'Summary' -- cfg['other-namespaces-heading'] -- The heading shown in other namespaces. cfg['other-namespaces-heading'] = 'Documentation' -- cfg['view-link-display'] -- The text to display for "view" links. cfg['view-link-display'] = 'view' -- cfg['edit-link-display'] -- The text to display for "edit" links. cfg['edit-link-display'] = 'edit' -- cfg['history-link-display'] -- The text to display for "history" links. cfg['history-link-display'] = 'history' -- cfg['purge-link-display'] -- The text to display for "purge" links. cfg['purge-link-display'] = 'purge' -- cfg['create-link-display'] -- The text to display for "create" links. cfg['create-link-display'] = 'create' ---------------------------------------------------------------------------------------------------- -- Link box (end box) configuration ---------------------------------------------------------------------------------------------------- -- cfg['transcluded-from-blurb'] -- Notice displayed when the docs are transcluded from another page. $1 is a wikilink to that page. cfg['transcluded-from-blurb'] = 'The above [[w:Wikipedia:Template documentation|documentation]] is [[mw:Help:Transclusion|transcluded]] from $1.' --[[ -- cfg['create-module-doc-blurb'] -- Notice displayed in the module namespace when the documentation subpage does not exist. -- $1 is a link to create the documentation page with the preload cfg['module-preload'] and the -- display cfg['create-link-display']. --]] cfg['create-module-doc-blurb'] = 'You might want to $1 a documentation page for this [[mw:Extension:Scribunto/Lua reference manual|Scribunto module]].' ---------------------------------------------------------------------------------------------------- -- Experiment blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['experiment-blurb-template'] -- cfg['experiment-blurb-module'] -- The experiment blurb is the text inviting editors to experiment in sandbox and test cases pages. -- It is only shown in the template and module namespaces. With the default English settings, it -- might look like this: -- -- Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages. -- -- In this example, "sandbox", "edit", "diff", "testcases", and "edit" would all be links. -- -- There are two versions, cfg['experiment-blurb-template'] and cfg['experiment-blurb-module'], depending -- on what namespace we are in. -- -- Parameters: -- -- $1 is a link to the sandbox page. If the sandbox exists, it is in the following format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-edit-link-display'] | cfg['compare-link-display']) -- -- If the sandbox doesn't exist, it is in the format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-create-link-display'] | cfg['mirror-link-display']) -- -- The link for cfg['sandbox-create-link-display'] link preloads the page with cfg['template-sandbox-preload'] -- or cfg['module-sandbox-preload'], depending on the current namespace. The link for cfg['mirror-link-display'] -- loads a default edit summary of cfg['mirror-edit-summary']. -- -- $2 is a link to the test cases page. If the test cases page exists, it is in the following format: -- -- cfg['testcases-link-display'] (cfg['testcases-edit-link-display'] | cfg['testcases-run-link-display']) -- -- If the test cases page doesn't exist, it is in the format: -- -- cfg['testcases-link-display'] (cfg['testcases-create-link-display']) -- -- If the test cases page doesn't exist, the link for cfg['testcases-create-link-display'] preloads the -- page with cfg['template-testcases-preload'] or cfg['module-testcases-preload'], depending on the current -- namespace. --]] cfg['experiment-blurb-template'] = "Editors can experiment in this template's $1 and $2 pages." cfg['experiment-blurb-module'] = "Editors can experiment in this module's $1 and $2 pages." ---------------------------------------------------------------------------------------------------- -- Sandbox link configuration ---------------------------------------------------------------------------------------------------- -- cfg['sandbox-subpage'] -- The name of the template subpage typically used for sandboxes. cfg['sandbox-subpage'] = 'sandbox' -- cfg['template-sandbox-preload'] -- Preload file for template sandbox pages. cfg['template-sandbox-preload'] = 'Template:Documentation/preload-sandbox' -- cfg['module-sandbox-preload'] -- Preload file for Lua module sandbox pages. cfg['module-sandbox-preload'] = 'Template:Documentation/preload-module-sandbox' -- cfg['sandbox-link-display'] -- The text to display for "sandbox" links. cfg['sandbox-link-display'] = 'sandbox' -- cfg['sandbox-edit-link-display'] -- The text to display for sandbox "edit" links. cfg['sandbox-edit-link-display'] = 'edit' -- cfg['sandbox-create-link-display'] -- The text to display for sandbox "create" links. cfg['sandbox-create-link-display'] = 'create' -- cfg['compare-link-display'] -- The text to display for "compare" links. cfg['compare-link-display'] = 'diff' -- cfg['mirror-edit-summary'] -- The default edit summary to use when a user clicks the "mirror" link. $1 is a wikilink to the -- template page. cfg['mirror-edit-summary'] = 'Create sandbox version of $1' -- cfg['mirror-link-display'] -- The text to display for "mirror" links. cfg['mirror-link-display'] = 'mirror' -- cfg['mirror-link-preload'] -- The page to preload when a user clicks the "mirror" link. cfg['mirror-link-preload'] = 'Template:Documentation/mirror' ---------------------------------------------------------------------------------------------------- -- Test cases link configuration ---------------------------------------------------------------------------------------------------- -- cfg['testcases-subpage'] -- The name of the template subpage typically used for test cases. cfg['testcases-subpage'] = 'testcases' -- cfg['template-testcases-preload'] -- Preload file for template test cases pages. cfg['template-testcases-preload'] = 'Template:Documentation/preload-testcases' -- cfg['module-testcases-preload'] -- Preload file for Lua module test cases pages. cfg['module-testcases-preload'] = 'Template:Documentation/preload-module-testcases' -- cfg['testcases-link-display'] -- The text to display for "testcases" links. cfg['testcases-link-display'] = 'testcases' -- cfg['testcases-edit-link-display'] -- The text to display for test cases "edit" links. cfg['testcases-edit-link-display'] = 'edit' -- cfg['testcases-run-link-display'] -- The text to display for test cases "run" links. cfg['testcases-run-link-display'] = 'run' -- cfg['testcases-create-link-display'] -- The text to display for test cases "create" links. cfg['testcases-create-link-display'] = 'create' ---------------------------------------------------------------------------------------------------- -- Add categories blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['add-categories-blurb'] -- Text to direct users to add categories to the /doc subpage. Not used if the "content" or -- "docname fed" arguments are set, as then it is not clear where to add the categories. $1 is a -- link to the /doc subpage with a display value of cfg['doc-link-display']. --]] cfg['add-categories-blurb'] = 'Add categories to the $1 subpage.' -- cfg['doc-link-display'] -- The text to display when linking to the /doc subpage. cfg['doc-link-display'] = '/doc' ---------------------------------------------------------------------------------------------------- -- Subpages link configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['subpages-blurb'] -- The "Subpages of this template" blurb. $1 is a link to the main template's subpages with a -- display value of cfg['subpages-link-display']. In the English version this blurb is simply -- the link followed by a period, and the link display provides the actual text. --]] cfg['subpages-blurb'] = '$1.' --[[ -- cfg['subpages-link-display'] -- The text to display for the "subpages of this page" link. $1 is cfg['template-pagetype'], -- cfg['module-pagetype'] or cfg['default-pagetype'], depending on whether the current page is in -- the template namespace, the module namespace, or another namespace. --]] cfg['subpages-link-display'] = 'Subpages of this $1' -- cfg['template-pagetype'] -- The pagetype to display for template pages. cfg['template-pagetype'] = 'template' -- cfg['module-pagetype'] -- The pagetype to display for Lua module pages. cfg['module-pagetype'] = 'module' -- cfg['default-pagetype'] -- The pagetype to display for pages other than templates or Lua modules. cfg['default-pagetype'] = 'page' ---------------------------------------------------------------------------------------------------- -- Doc link configuration ---------------------------------------------------------------------------------------------------- -- cfg['doc-subpage'] -- The name of the subpage typically used for documentation pages. cfg['doc-subpage'] = 'doc' -- cfg['docpage-preload'] -- Preload file for template documentation pages in all namespaces. cfg['docpage-preload'] = 'Template:Documentation/preload' -- cfg['module-preload'] -- Preload file for Lua module documentation pages. cfg['module-preload'] = 'Template:Documentation/preload-module-doc' ---------------------------------------------------------------------------------------------------- -- HTML and CSS configuration ---------------------------------------------------------------------------------------------------- -- cfg['templatestyles'] -- The name of the TemplateStyles page where CSS is kept. -- Sandbox CSS will be at Module:Documentation/sandbox/styles.css when needed. cfg['templatestyles'] = 'Module:Documentation/styles.css' -- cfg['container'] -- Class which can be used to set flex or grid CSS on the -- two child divs documentation and documentation-metadata cfg['container'] = 'documentation-container' -- cfg['main-div-classes'] -- Classes added to the main HTML "div" tag. cfg['main-div-classes'] = 'documentation' -- cfg['main-div-heading-class'] -- Class for the main heading for templates and modules and assoc. talk spaces cfg['main-div-heading-class'] = 'documentation-heading' -- cfg['start-box-class'] -- Class for the start box cfg['start-box-class'] = 'documentation-startbox' -- cfg['start-box-link-classes'] -- Classes used for the [view][edit][history] or [create] links in the start box. -- mw-editsection-like is per [[Wikipedia:Village pump (technical)/Archive 117]] cfg['start-box-link-classes'] = 'mw-editsection-like plainlinks' -- cfg['end-box-class'] -- Class for the end box. cfg['end-box-class'] = 'documentation-metadata' -- cfg['end-box-plainlinks'] -- Plainlinks cfg['end-box-plainlinks'] = 'plainlinks' -- cfg['toolbar-class'] -- Class added for toolbar links. cfg['toolbar-class'] = 'documentation-toolbar' -- cfg['clear'] -- Just used to clear things. cfg['clear'] = 'documentation-clear' ---------------------------------------------------------------------------------------------------- -- Tracking category configuration ---------------------------------------------------------------------------------------------------- -- cfg['display-strange-usage-category'] -- Set to true to enable output of cfg['strange-usage-category'] if the module is used on a /doc subpage -- or a /testcases subpage. This should be a boolean value (either true or false). cfg['display-strange-usage-category'] = true -- cfg['strange-usage-category'] -- Category to output if cfg['display-strange-usage-category'] is set to true and the module is used on a -- /doc subpage or a /testcases subpage. cfg['strange-usage-category'] = 'Wikipedia pages with strange ((documentation)) usage' --[[ ---------------------------------------------------------------------------------------------------- -- End configuration -- -- Don't edit anything below this line. ---------------------------------------------------------------------------------------------------- --]] return cfg d70e8b1402a2bbe08a1fef4b75d743e661af0c95 Module:Message box 828 73 190 189 2023-03-30T08:29:47Z Werewire 2 1 revision imported: added templates Scribunto text/plain -- This is a meta-module for producing message box templates, including -- {{mbox}}, {{ambox}}, {{imbox}}, {{tmbox}}, {{ombox}}, {{cmbox}} and {{fmbox}}. -- Load necessary modules. require('Module:No globals') local getArgs local yesno = require('Module:Yesno') local templatestyles = 'Module:Message box/styles.css' -- Get a language object for formatDate and ucfirst. local lang = mw.language.getContentLanguage() -- Define constants local CONFIG_MODULE = 'Module:Message box/configuration' local DEMOSPACES = {user = 'tmbox', talk = 'tmbox', image = 'imbox', file = 'imbox', category = 'cmbox', article = 'ambox', main = 'ambox'} -------------------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------------------- local function getTitleObject(...) -- Get the title object, passing the function through pcall -- in case we are over the expensive function count limit. local success, title = pcall(mw.title.new, ...) if success then return title end end local function union(t1, t2) -- Returns the union of two arrays. local vals = {} for i, v in ipairs(t1) do vals[v] = true end for i, v in ipairs(t2) do vals[v] = true end local ret = {} for k in pairs(vals) do table.insert(ret, k) end table.sort(ret) return ret end local function getArgNums(args, prefix) local nums = {} for k, v in pairs(args) do local num = mw.ustring.match(tostring(k), '^' .. prefix .. '([1-9]%d*)$') if num then table.insert(nums, tonumber(num)) end end table.sort(nums) return nums end -------------------------------------------------------------------------------- -- Box class definition -------------------------------------------------------------------------------- local MessageBox = {} MessageBox.__index = MessageBox function MessageBox.new(boxType, args, cfg) args = args or {} local obj = {} -- Set the title object and the namespace. obj.title = getTitleObject(args.page) or mw.title.getCurrentTitle() -- Set the config for our box type. obj.cfg = cfg[boxType] if not obj.cfg then local ns = obj.title.namespace -- boxType is "mbox" or invalid input if args.demospace and args.demospace ~= '' then -- implement demospace parameter of mbox local demospace = string.lower(args.demospace) if DEMOSPACES[demospace] then -- use template from DEMOSPACES obj.cfg = cfg[DEMOSPACES[demospace]] elseif string.find( demospace, 'talk' ) then -- demo as a talk page obj.cfg = cfg.tmbox else -- default to ombox obj.cfg = cfg.ombox end elseif ns == 0 then obj.cfg = cfg.ambox -- main namespace elseif ns == 6 then obj.cfg = cfg.imbox -- file namespace elseif ns == 14 then obj.cfg = cfg.cmbox -- category namespace else local nsTable = mw.site.namespaces[ns] if nsTable and nsTable.isTalk then obj.cfg = cfg.tmbox -- any talk namespace else obj.cfg = cfg.ombox -- other namespaces or invalid input end end end -- Set the arguments, and remove all blank arguments except for the ones -- listed in cfg.allowBlankParams. do local newArgs = {} for k, v in pairs(args) do if v ~= '' then newArgs[k] = v end end for i, param in ipairs(obj.cfg.allowBlankParams or {}) do newArgs[param] = args[param] end obj.args = newArgs end -- Define internal data structure. obj.categories = {} obj.classes = {} -- For lazy loading of [[Module:Category handler]]. obj.hasCategories = false return setmetatable(obj, MessageBox) end function MessageBox:addCat(ns, cat, sort) if not cat then return nil end if sort then cat = string.format('[[Category:%s|%s]]', cat, sort) else cat = string.format('[[Category:%s]]', cat) end self.hasCategories = true self.categories[ns] = self.categories[ns] or {} table.insert(self.categories[ns], cat) end function MessageBox:addClass(class) if not class then return nil end table.insert(self.classes, class) end function MessageBox:setParameters() local args = self.args local cfg = self.cfg -- Get type data. self.type = args.type local typeData = cfg.types[self.type] self.invalidTypeError = cfg.showInvalidTypeError and self.type and not typeData typeData = typeData or cfg.types[cfg.default] self.typeClass = typeData.class self.typeImage = typeData.image -- Find whether we are using a small message box. self.isSmall = cfg.allowSmall and ( cfg.smallParam and args.small == cfg.smallParam or not cfg.smallParam and yesno(args.small) ) -- Add attributes, classes and styles. self.id = args.id self.name = args.name if self.name then self:addClass('box-' .. string.gsub(self.name,' ','_')) end if yesno(args.plainlinks) ~= false then self:addClass('plainlinks') end for _, class in ipairs(cfg.classes or {}) do self:addClass(class) end if self.isSmall then self:addClass(cfg.smallClass or 'mbox-small') end self:addClass(self.typeClass) self:addClass(args.class) self.style = args.style self.attrs = args.attrs -- Set text style. self.textstyle = args.textstyle -- Find if we are on the template page or not. This functionality is only -- used if useCollapsibleTextFields is set, or if both cfg.templateCategory -- and cfg.templateCategoryRequireName are set. self.useCollapsibleTextFields = cfg.useCollapsibleTextFields if self.useCollapsibleTextFields or cfg.templateCategory and cfg.templateCategoryRequireName then if self.name then local templateName = mw.ustring.match( self.name, '^[tT][eE][mM][pP][lL][aA][tT][eE][%s_]*:[%s_]*(.*)$' ) or self.name templateName = 'Template:' .. templateName self.templateTitle = getTitleObject(templateName) end self.isTemplatePage = self.templateTitle and mw.title.equals(self.title, self.templateTitle) end -- Process data for collapsible text fields. At the moment these are only -- used in {{ambox}}. if self.useCollapsibleTextFields then -- Get the self.issue value. if self.isSmall and args.smalltext then self.issue = args.smalltext else local sect if args.sect == '' then sect = 'This ' .. (cfg.sectionDefault or 'page') elseif type(args.sect) == 'string' then sect = 'This ' .. args.sect end local issue = args.issue issue = type(issue) == 'string' and issue ~= '' and issue or nil local text = args.text text = type(text) == 'string' and text or nil local issues = {} table.insert(issues, sect) table.insert(issues, issue) table.insert(issues, text) self.issue = table.concat(issues, ' ') end -- Get the self.talk value. local talk = args.talk -- Show talk links on the template page or template subpages if the talk -- parameter is blank. if talk == '' and self.templateTitle and ( mw.title.equals(self.templateTitle, self.title) or self.title:isSubpageOf(self.templateTitle) ) then talk = '#' elseif talk == '' then talk = nil end if talk then -- If the talk value is a talk page, make a link to that page. Else -- assume that it's a section heading, and make a link to the talk -- page of the current page with that section heading. local talkTitle = getTitleObject(talk) local talkArgIsTalkPage = true if not talkTitle or not talkTitle.isTalkPage then talkArgIsTalkPage = false talkTitle = getTitleObject( self.title.text, mw.site.namespaces[self.title.namespace].talk.id ) end if talkTitle and talkTitle.exists then local talkText = 'Relevant discussion may be found on' if talkArgIsTalkPage then talkText = string.format( '%s [[%s|%s]].', talkText, talk, talkTitle.prefixedText ) else talkText = string.format( '%s the [[%s#%s|talk page]].', talkText, talkTitle.prefixedText, talk ) end self.talk = talkText end end -- Get other values. self.fix = args.fix ~= '' and args.fix or nil local date if args.date and args.date ~= '' then date = args.date elseif args.date == '' and self.isTemplatePage then date = lang:formatDate('F Y') end if date then self.date = string.format(" <small class='date-container'>''(<span class='date'>%s</span>)''</small>", date) end self.info = args.info end -- Set the non-collapsible text field. At the moment this is used by all box -- types other than ambox, and also by ambox when small=yes. if self.isSmall then self.text = args.smalltext or args.text else self.text = args.text end -- Set the below row. self.below = cfg.below and args.below -- General image settings. self.imageCellDiv = not self.isSmall and cfg.imageCellDiv self.imageEmptyCell = cfg.imageEmptyCell if cfg.imageEmptyCellStyle then self.imageEmptyCellStyle = 'border:none;padding:0px;width:1px' end -- Left image settings. local imageLeft = self.isSmall and args.smallimage or args.image if cfg.imageCheckBlank and imageLeft ~= 'blank' and imageLeft ~= 'none' or not cfg.imageCheckBlank and imageLeft ~= 'none' then self.imageLeft = imageLeft if not imageLeft then local imageSize = self.isSmall and (cfg.imageSmallSize or '30x30px') or '40x40px' self.imageLeft = string.format('[[File:%s|%s|link=|alt=]]', self.typeImage or 'Imbox notice.png', imageSize) end end -- Right image settings. local imageRight = self.isSmall and args.smallimageright or args.imageright if not (cfg.imageRightNone and imageRight == 'none') then self.imageRight = imageRight end end function MessageBox:setMainspaceCategories() local args = self.args local cfg = self.cfg if not cfg.allowMainspaceCategories then return nil end local nums = {} for _, prefix in ipairs{'cat', 'category', 'all'} do args[prefix .. '1'] = args[prefix] nums = union(nums, getArgNums(args, prefix)) end -- The following is roughly equivalent to the old {{Ambox/category}}. local date = args.date date = type(date) == 'string' and date local preposition = 'from' for _, num in ipairs(nums) do local mainCat = args['cat' .. tostring(num)] or args['category' .. tostring(num)] local allCat = args['all' .. tostring(num)] mainCat = type(mainCat) == 'string' and mainCat allCat = type(allCat) == 'string' and allCat if mainCat and date and date ~= '' then local catTitle = string.format('%s %s %s', mainCat, preposition, date) self:addCat(0, catTitle) catTitle = getTitleObject('Category:' .. catTitle) if not catTitle or not catTitle.exists then self:addCat(0, 'Articles with invalid date parameter in template') end elseif mainCat and (not date or date == '') then self:addCat(0, mainCat) end if allCat then self:addCat(0, allCat) end end end function MessageBox:setTemplateCategories() local args = self.args local cfg = self.cfg -- Add template categories. if cfg.templateCategory then if cfg.templateCategoryRequireName then if self.isTemplatePage then self:addCat(10, cfg.templateCategory) end elseif not self.title.isSubpage then self:addCat(10, cfg.templateCategory) end end -- Add template error categories. if cfg.templateErrorCategory then local templateErrorCategory = cfg.templateErrorCategory local templateCat, templateSort if not self.name and not self.title.isSubpage then templateCat = templateErrorCategory elseif self.isTemplatePage then local paramsToCheck = cfg.templateErrorParamsToCheck or {} local count = 0 for i, param in ipairs(paramsToCheck) do if not args[param] then count = count + 1 end end if count > 0 then templateCat = templateErrorCategory templateSort = tostring(count) end if self.categoryNums and #self.categoryNums > 0 then templateCat = templateErrorCategory templateSort = 'C' end end self:addCat(10, templateCat, templateSort) end end function MessageBox:setAllNamespaceCategories() -- Set categories for all namespaces. if self.invalidTypeError then local allSort = (self.title.namespace == 0 and 'Main:' or '') .. self.title.prefixedText self:addCat('all', 'Wikipedia message box parameter needs fixing', allSort) end end function MessageBox:setCategories() if self.title.namespace == 0 then self:setMainspaceCategories() elseif self.title.namespace == 10 then self:setTemplateCategories() end self:setAllNamespaceCategories() end function MessageBox:renderCategories() if not self.hasCategories then -- No categories added, no need to pass them to Category handler so, -- if it was invoked, it would return the empty string. -- So we shortcut and return the empty string. return "" end -- Convert category tables to strings and pass them through -- [[Module:Category handler]]. return require('Module:Category handler')._main{ main = table.concat(self.categories[0] or {}), template = table.concat(self.categories[10] or {}), all = table.concat(self.categories.all or {}), nocat = self.args.nocat, page = self.args.page } end function MessageBox:export() local root = mw.html.create() -- Create the box table. local boxTable = root:tag('table') boxTable:attr('id', self.id or nil) for i, class in ipairs(self.classes or {}) do boxTable:addClass(class or nil) end boxTable :cssText(self.style or nil) :attr('role', 'presentation') if self.attrs then boxTable:attr(self.attrs) end -- Add the left-hand image. local row = boxTable:tag('tr') if self.imageLeft then local imageLeftCell = row:tag('td'):addClass('mbox-image') if self.imageCellDiv then -- If we are using a div, redefine imageLeftCell so that the image -- is inside it. Divs use style="width: 52px;", which limits the -- image width to 52px. If any images in a div are wider than that, -- they may overlap with the text or cause other display problems. imageLeftCell = imageLeftCell:tag('div'):css('width', '52px') end imageLeftCell:wikitext(self.imageLeft or nil) elseif self.imageEmptyCell then -- Some message boxes define an empty cell if no image is specified, and -- some don't. The old template code in templates where empty cells are -- specified gives the following hint: "No image. Cell with some width -- or padding necessary for text cell to have 100% width." row:tag('td') :addClass('mbox-empty-cell') :cssText(self.imageEmptyCellStyle or nil) end -- Add the text. local textCell = row:tag('td'):addClass('mbox-text') if self.useCollapsibleTextFields then -- The message box uses advanced text parameters that allow things to be -- collapsible. At the moment, only ambox uses this. textCell:cssText(self.textstyle or nil) local textCellDiv = textCell:tag('div') textCellDiv :addClass('mbox-text-span') :wikitext(self.issue or nil) if (self.talk or self.fix) and not self.isSmall then textCellDiv:tag('span') :addClass('hide-when-compact') :wikitext(self.talk and (' ' .. self.talk) or nil) :wikitext(self.fix and (' ' .. self.fix) or nil) end textCellDiv:wikitext(self.date and (' ' .. self.date) or nil) if self.info and not self.isSmall then textCellDiv :tag('span') :addClass('hide-when-compact') :wikitext(self.info and (' ' .. self.info) or nil) end else -- Default text formatting - anything goes. textCell :cssText(self.textstyle or nil) :wikitext(self.text or nil) end -- Add the right-hand image. if self.imageRight then local imageRightCell = row:tag('td'):addClass('mbox-imageright') if self.imageCellDiv then -- If we are using a div, redefine imageRightCell so that the image -- is inside it. imageRightCell = imageRightCell:tag('div'):css('width', '52px') end imageRightCell :wikitext(self.imageRight or nil) end -- Add the below row. if self.below then boxTable:tag('tr') :tag('td') :attr('colspan', self.imageRight and '3' or '2') :addClass('mbox-text') :cssText(self.textstyle or nil) :wikitext(self.below or nil) end -- Add error message for invalid type parameters. if self.invalidTypeError then root:tag('div') :css('text-align', 'center') :wikitext(string.format( 'This message box is using an invalid "type=%s" parameter and needs fixing.', self.type or '' )) end -- Add categories. root:wikitext(self:renderCategories() or nil) return tostring(root) end -------------------------------------------------------------------------------- -- Exports -------------------------------------------------------------------------------- local p, mt = {}, {} function p._exportClasses() -- For testing. return { MessageBox = MessageBox } end function p.main(boxType, args, cfgTables) local box = MessageBox.new(boxType, args, cfgTables or mw.loadData(CONFIG_MODULE)) box:setParameters() box:setCategories() return box:export() end local function templatestyles(frame, src) return mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = templatestyles} } .. 'CONFIG_MODULE' end function mt.__index(t, k) return function (frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return t.main(k, getArgs(frame, {trim = false, removeBlanks = false})) end end return setmetatable(p, mt) be00cd389f9f2afcd361e5d5e33622839555cbd9 Module:Message box/configuration 828 74 192 191 2023-03-30T08:29:49Z Werewire 2 1 revision imported: added templates Scribunto text/plain -------------------------------------------------------------------------------- -- Message box configuration -- -- -- -- This module contains configuration data for [[Module:Message box]]. -- -------------------------------------------------------------------------------- return { ambox = { types = { speedy = { class = 'ambox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'ambox-delete', image = 'Ambox warning pn.svg' }, content = { class = 'ambox-content', image = 'Ambox important.svg' }, style = { class = 'ambox-style', image = 'Edit-clear.svg' }, move = { class = 'ambox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'ambox-protection', image = 'Semi-protection-shackle-keyhole.svg' }, notice = { class = 'ambox-notice', image = 'Information icon4.svg' } }, default = 'notice', allowBlankParams = {'talk', 'sect', 'date', 'issue', 'fix', 'hidden'}, allowSmall = true, smallParam = 'left', smallClass = 'mbox-small-left', classes = {'metadata', 'ambox'}, imageEmptyCell = true, imageCheckBlank = true, imageSmallSize = '20x20px', imageCellDiv = true, useCollapsibleTextFields = true, imageRightNone = true, sectionDefault = 'article', allowMainspaceCategories = true, templateCategory = 'Article message templates', templateCategoryRequireName = true, templateErrorCategory = 'Article message templates with missing parameters', templateErrorParamsToCheck = {'issue', 'fix'}, }, cmbox = { types = { speedy = { class = 'cmbox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'cmbox-delete', image = 'Ambox warning pn.svg' }, content = { class = 'cmbox-content', image = 'Ambox important.svg' }, style = { class = 'cmbox-style', image = 'Edit-clear.svg' }, move = { class = 'cmbox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'cmbox-protection', image = 'Semi-protection-shackle-keyhole.svg' }, notice = { class = 'cmbox-notice', image = 'Information icon4.svg' } }, default = 'notice', showInvalidTypeError = true, classes = {'cmbox'}, imageEmptyCell = true }, fmbox = { types = { warning = { class = 'fmbox-warning', image = 'Ambox warning pn.svg' }, editnotice = { class = 'fmbox-editnotice', image = 'Information icon4.svg' }, system = { class = 'fmbox-system', image = 'Information icon4.svg' } }, default = 'system', showInvalidTypeError = true, classes = {'fmbox'}, imageEmptyCell = false, imageRightNone = false }, imbox = { types = { speedy = { class = 'imbox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'imbox-delete', image = 'Ambox warning pn.svg' }, content = { class = 'imbox-content', image = 'Ambox important.svg' }, style = { class = 'imbox-style', image = 'Edit-clear.svg' }, move = { class = 'imbox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'imbox-protection', image = 'Semi-protection-shackle-keyhole.svg' }, license = { class = 'imbox-license licensetpl', image = 'Imbox license.png' -- @todo We need an SVG version of this }, featured = { class = 'imbox-featured', image = 'Cscr-featured.svg' }, notice = { class = 'imbox-notice', image = 'Information icon4.svg' } }, default = 'notice', showInvalidTypeError = true, classes = {'imbox'}, imageEmptyCell = true, below = true, templateCategory = 'File message boxes' }, ombox = { types = { speedy = { class = 'ombox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'ombox-delete', image = 'Ambox warning pn.svg' }, content = { class = 'ombox-content', image = 'Ambox important.svg' }, style = { class = 'ombox-style', image = 'Edit-clear.svg' }, move = { class = 'ombox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'ombox-protection', image = 'Semi-protection-shackle-keyhole.svg' }, notice = { class = 'ombox-notice', image = 'Information icon4.svg' } }, default = 'notice', showInvalidTypeError = true, classes = {'ombox'}, allowSmall = true, imageEmptyCell = true, imageRightNone = true }, tmbox = { types = { speedy = { class = 'tmbox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'tmbox-delete', image = 'Ambox warning pn.svg' }, content = { class = 'tmbox-content', image = 'Ambox important.svg' }, style = { class = 'tmbox-style', image = 'Edit-clear.svg' }, move = { class = 'tmbox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'tmbox-protection', image = 'Semi-protection-shackle-keyhole.svg' }, notice = { class = 'tmbox-notice', image = 'Information icon4.svg' } }, default = 'notice', showInvalidTypeError = true, classes = {'tmbox'}, allowSmall = true, imageRightNone = true, imageEmptyCell = true, imageEmptyCellStyle = true, templateCategory = 'Talk message boxes' } } c6bd9191861b23e474e12b19c694335c4bc3af5f Module:No globals 828 75 194 193 2023-03-30T08:29:49Z Werewire 2 1 revision imported: added templates Scribunto text/plain local mt = getmetatable(_G) or {} function mt.__index (t, k) if k ~= 'arg' then error('Tried to read nil global ' .. tostring(k), 2) end return nil end function mt.__newindex(t, k, v) if k ~= 'arg' then error('Tried to write global ' .. tostring(k), 2) end rawset(t, k, v) end setmetatable(_G, mt) 8ce3969f7d53b08bd00dabe4cc9780bc6afd412a Module:Yesno 828 76 196 195 2023-03-30T08:29:50Z Werewire 2 1 revision imported: added templates Scribunto text/plain -- Function allowing for consistent treatment of boolean-like wikitext input. -- It works similarly to the template {{yesno}}. return function (val, default) -- If your wiki uses non-ascii characters for any of "yes", "no", etc., you -- should replace "val:lower()" with "mw.ustring.lower(val)" in the -- following line. val = type(val) == 'string' and val:lower() or val if val == nil then return nil elseif val == true or val == 'yes' or val == 'y' or val == 'true' or val == 't' or val == 'on' or tonumber(val) == 1 then return true elseif val == false or val == 'no' or val == 'n' or val == 'false' or val == 'f' or val == 'off' or tonumber(val) == 0 then return false else return default end end f767643e7d12126d020d88d662a3dd057817b9dc Template:Header/doc 10 77 198 197 2023-03-30T08:29:50Z Werewire 2 1 revision imported: added templates wikitext text/x-wiki {{documentation subpage}} ==Usage== <pre> {{header | title = | shortcut = | notes = | topbarhex = | bodyhex = | titlecolor = | bodycolor = }} </pre> ===Relative links=== On pages with many subpages, using [[m:Help:Link#Subpage_feature|relative links]] is highly recommended. This shortens the code and ensures that pages remain linked together, even if the overall system is moved or reorganised. The three formats are <nowiki>[[/subpage]]</nowiki> (subpage), <nowiki>[[../]]</nowiki> (parent), and <nowiki>[[../sibling]]</nowiki> (sibling); see the example usage below. Note that <nowiki>[[../]]</nowiki> will expand to the title of the parent page, which is ideal if the page is renamed at a later time. ==See also== {{#lst:Template:Template list|header-templates}} 5765ffdddc2682eb2227083ebcc24a126128ac5d Template:Template list 10 78 200 199 2023-03-30T08:29:51Z Werewire 2 1 revision imported: added templates wikitext text/x-wiki == Resolution templates == : ''Category: [[:Category:Resolution templates|Resolution templates]]'' <section begin=resolution-templates/> * {{tl|done}} - {{done}} * {{tl|not done}} - {{not done}} * {{tl|doing}} - {{doing}} * {{tl|comment}} - {{comment}} <section end=resolution-templates/> == Voting templates == : ''Category: [[:Category:Voting templates|Voting templates]]'' <section begin=voting-templates/> * {{tl|support}} - {{support}} * {{tl|oppose}} - {{oppose}} * {{tl|abstain}} - {{abstain}} * {{tl|neutral}} - {{neutral}} <section end=voting-templates/> === Social media userboxes === : ''Category: [[:Category:Social media userboxes|Social media userboxes]]'' <section begin=social-media-userboxes/> {| class="wikitable" |- <noinclude>! Template !! Result |-</noinclude> | {{tl|User discord}} || {{User discord|nocat=yes}} |- | {{tl|User github}} || {{User github|nocat=yes}} |- | {{tl|User instagram}} || {{User instagram|nocat=yes}} |- | {{tl|User IRC}} || {{User IRC|nocat=yes}} |- | {{tl|User twitter}} || {{User twitter|nocat=yes}} |- | {{tl|User wikimedia}} || {{User wikimedia|nocat=yes}} |- | {{tl|User youtube}} || {{User youtube|nocat=yes}} |} <section end=social-media-userboxes/> [[Category:Templates| ]] 01b67cea315305492f35a33e0a2943a6f7b44773 Template:See also 10 79 202 201 2023-03-30T08:33:07Z Werewire 2 1 revision imported: added see also template wikitext text/x-wiki {{hatnote|extraclasses=boilerplate seealso|{{{altphrase|See also}}}: {{#if:{{{1<includeonly>|</includeonly>}}} |<!--then:-->[[:{{{1}}}{{#if:{{{label 1|{{{l1|}}}}}}|{{!}}{{{label 1|{{{l1}}}}}}}}]] |<!--else:-->'''Error: [[Template:See also|Template must be given at least one article name]]''' }}{{#if:{{{2|}}}|{{#if:{{{3|}}}|, |&nbsp;and }} [[:{{{2}}}{{#if:{{{label 2|{{{l2|}}}}}}|{{!}}{{{label 2|{{{l2}}}}}}}}]] }}{{#if:{{{3|}}}|{{#if:{{{4|}}}|, |,&nbsp;and }} [[:{{{3}}}{{#if:{{{label 3|{{{l3|}}}}}}|{{!}}{{{label 3|{{{l3}}}}}}}}]] }}{{#if:{{{4|}}}|{{#if:{{{5|}}}|, |,&nbsp;and }} [[:{{{4}}}{{#if:{{{label 4|{{{l4|}}}}}}|{{!}}{{{label 4|{{{l4}}}}}}}}]] }}{{#if:{{{5|}}}|{{#if:{{{6|}}}|, |,&nbsp;and }} [[:{{{5}}}{{#if:{{{label 5|{{{l5|}}}}}}|{{!}}{{{label 5|{{{l5}}}}}}}}]] }}{{#if:{{{6|}}}|{{#if:{{{7|}}}|, |,&nbsp;and }} [[:{{{6}}}{{#if:{{{label 6|{{{l6|}}}}}}|{{!}}{{{label 6|{{{l6}}}}}}}}]] }}{{#if:{{{7|}}}|{{#if:{{{8|}}}|, |,&nbsp;and }} [[:{{{7}}}{{#if:{{{label 7|{{{l7|}}}}}}|{{!}}{{{label 7|{{{l7}}}}}}}}]] }}{{#if:{{{8|}}}|{{#if:{{{9|}}}|, |,&nbsp;and }} [[:{{{8}}}{{#if:{{{label 8|{{{l8|}}}}}}|{{!}}{{{label 8|{{{l8}}}}}}}}]] }}{{#if:{{{9|}}}|{{#if:{{{10|}}}|, |,&nbsp;and }} [[:{{{9}}}{{#if:{{{label 9|{{{l9|}}}}}}|{{!}}{{{label 9|{{{l9}}}}}}}}]] }}{{#if:{{{10|}}}|{{#if:{{{11|}}}|, |,&nbsp;and }} [[:{{{10}}}{{#if:{{{label 10|{{{l10|}}}}}}|{{!}}{{{label 10|{{{l10}}}}}}}}]] }}{{#if:{{{11|}}}|{{#if:{{{12|}}}|, |,&nbsp;and }} [[:{{{11}}}{{#if:{{{label 11|{{{l11|}}}}}}|{{!}}{{{label 11|{{{l11}}}}}}}}]] }}{{#if:{{{12|}}}|{{#if:{{{13|}}}|, |,&nbsp;and }} [[:{{{12}}}{{#if:{{{label 12|{{{l12|}}}}}}|{{!}}{{{label 12|{{{l12}}}}}}}}]] }}{{#if:{{{13|}}}|{{#if:{{{14|}}}|, |,&nbsp;and }} [[:{{{13}}}{{#if:{{{label 13|{{{l13|}}}}}}|{{!}}{{{label 13|{{{l13}}}}}}}}]] }}{{#if:{{{14|}}}|{{#if:{{{15|}}}|, |,&nbsp;and }} [[:{{{14}}}{{#if:{{{label 14|{{{l14|}}}}}}|{{!}}{{{label 14|{{{l14}}}}}}}}]] }}{{#if:{{{15|}}}|,&nbsp;and [[:{{{15}}}{{#if:{{{label 15|{{{l15|}}} }}}|{{!}}{{{label 15|{{{l15|}}} }}} }}]] }}{{#if:{{{16|}}}| &mdash; '''<br/>Error: [[Template:See also|Too many links specified (maximum is 15)]]''' }}}}<noinclude> {{documentation}} </noinclude> 0315f43d7e4b679054955c7a50fe554ab1df63de Module:Documentation/styles.css 828 72 204 188 2023-03-30T08:33:09Z Werewire 2 1 revision imported: added see also template text text/plain .documentation, .documentation-metadata { border: 1px solid #a2a9b1; background-color: #ecfcf4; clear: both; } .documentation { margin: 1em 0 0 0; padding: 1em; } .documentation-metadata { margin: 0.2em 0; /* same margin left-right as .documentation */ font-style: italic; padding: 0.4em 1em; /* same padding left-right as .documentation */ } .documentation-startbox { padding-bottom: 3px; border-bottom: 1px solid #aaa; margin-bottom: 1ex; } .documentation-heading { font-weight: bold; font-size: 125%; } .documentation-clear { /* Don't want things to stick out where they shouldn't. */ clear: both; } .documentation-toolbar { font-style: normal; font-size: 85%; } 37daf53a6ac29b7858ece6841d9f2d2f980a5366 Template:Hatnote 10 80 206 205 2023-03-30T08:33:13Z Werewire 2 1 revision imported: added see also template wikitext text/x-wiki <div style="margin-left:2em; margin-right: 2em;>''{{{1}}}''</div> <!-- The wikipedia templates uses :, which generated dd and dt tags. That is not ideal for accessibility. --><noinclude> This is a general purpose template for all kind of [https://en.wikipedia.org/wiki/Wikipedia:Hatnote hatnotes]. '''Hatnotes''' are a small annotation above a page or a section that can help the reader navigate. It's used for example to clarify what a section is about and link to other pages the reader may want to read. == Example usage == <pre><nowiki> === Heading === {{hatnote|This section is about headings in text, for the human body part see [[Head|Head]]. <br> For the the first level heading see the main article [[Headline]].</br> H1 redirects here, for the car see [[Hyundai#H1|Hyundai H1]].}} The first sentence of the section is here. </nowiki></pre> === Heading === {{hatnote|This section is about headings in text, for the human body part see [[Head|Head]]. <br> For the the first level heading see the main article [[Headline]].</br> H1 redirects here, for the car see [[Hyundai#H1|Hyundai H1]].}} The first sentence of the section is here. <templatedata> { "params": { "1": { "label": "content", "description": "the content of the note", "example": "For the xxx see [[yyy]]." } }, "description": "Adds a annotation for the reader about the content that follows. Usually used after a heading." } </templatedata> [[Category:Templates]] </noinclude> 5e58f83d6fa53ed06f85139184aff1d651804efe Template:See also/doc 10 81 208 207 2023-03-30T08:33:13Z Werewire 2 1 revision imported: added see also template wikitext text/x-wiki {{documentation subpage}} This template is used to create [[w:WP:Hatnotes|hatnotes]] to point to a small number of other related titles. It looks like this: {{See also|Article}} Refer to the examples below to see how the template handles link targets containing section links and commas. ==Usage== ; Basic usage: &#123;{See also|''page1''|''page2''|''page3''|...}} ; All parameters: &#123;{See also|''page1''|''page2''|''page3''| ... |label 1 = ''label 1''|label 2 = ''label2''|label 3 = ''label3''| ... |l1 = ''label1''|l2 = ''label2''|l3 = ''label3''| ... |selfref = ''yes''|category = ''no''}} ==Parameters== This template accepts the following parameters: * <code>1</code>, <code>2</code>, <code>3</code>, ... – the pages to link to. At least one page name is required. Categories and files are automatically escaped with the [[Help:Colon trick|colon trick]], and links to sections are automatically formatted as ''page § section'', rather than the MediaWiki default of ''page#section''. * <code>label 1</code>, <code>label 2</code>, <code>label 3</code>, ...; or <code>l1</code>, <code>l2</code>, <code>l3</code>, ...; optional labels for each of the pages to link to. * <code>selfref</code> – if set to "yes", "y", "true" or "1", adds the CSS class "selfref". This is used to denote self-references to Wikipedia. See [[Template:Selfref]] for more information. * <code>category</code> – if set to "no", "n", "false", or "0", suppresses the error tracking category ([[:Category:Hatnote templates with errors]]). This only has an effect if the first positional parameter (the page to link to) is omitted. == Examples == * <code><nowiki>{{See also|Article}}</nowiki></code> → {{See also|Article}} * <code><nowiki>{{See also|Article#Section}}</nowiki></code> → {{See also|Article#Section}} * <code><nowiki>{{See also|Article#Section|label 1=Custom section label}}</nowiki></code> → {{See also|Article#Section|label 1=Custom section label}} * <code><nowiki>{{See also|Article1|Article2|Article3}}</nowiki></code> → {{See also|Article1|Article2|Article3}} * <code><nowiki>{{See also|Article1|Article,2|Article3}}</nowiki></code> → {{See also|Article1|Article,2|Article3}} * <code><nowiki>{{See also|Article1|l1=Custom label 1|Article2|l2=Custom label 2}}</nowiki></code> → {{See also|Article1|l1=Custom label 1|Article2|l2=Custom label 2}} * <code><nowiki>{{See also|Veni, vidi, vici|Julius Caesar}}</nowiki></code> → {{See also|Veni, vidi, vici|Julius Caesar}} * <code><nowiki>{{See also|Veni, vidi, vici|Julius Caesar#Civil war}}</nowiki></code> → {{See also|Veni, vidi, vici|Julius Caesar#Civil war}} * <code><nowiki>{{See also|Julius Caesar#Civil war|Veni, vidi, vici}}</nowiki></code> → {{See also|Julius Caesar#Civil war|Veni, vidi, vici}} * <code><nowiki>{{See also|Julius Caesar#Civil war|Crossing the Rubicon}}</nowiki></code> → {{See also|Julius Caesar#Civil war|Crossing the Rubicon}} ==Errors== If no page names are supplied, the template outputs the following message with the (help) wikilink pointing to the "Errors" section of this page: *{{See also|category=no}} If you see this error message, it is for one of three reasons: # No parameters were specified (the template code was <code><nowiki>{{See also}}</nowiki></code> with no pipe character nor page to link to). Please use <code><nowiki>{{See also|</nowiki>''page''<nowiki>}}</nowiki></code> instead. # Some parameters were specified, but no page names were included. For example, the template text <code><nowiki>{{See also|selfref=yes}}</nowiki></code> will produce this error. Please use (for example) <code><nowiki>{{See also|</nowiki>''page''<nowiki>|selfref=yes}}</nowiki></code> instead. # A page name was specified, but it contains an equals sign ("="). The equals sign has a special meaning in template code, and because of this it cannot be used in template parameters that do not specify a parameter name. For example, the template code <code><nowiki>{{See also|1+1=2|2+2=4}}</nowiki></code> will produce this error. To work around this, you can specify the parameter name explicitly by using <code>1=</code>, <code>2</code>, etc., before the page name, like this: <code><nowiki>{{See also|1=1+1=2|2=2+2=4}}</nowiki></code>. If you see this error message and are unsure of what to do, please post a message on [[WP:HD|the help desk (WP:HD)]], and someone should be able to help you. To see a list of wikilinks to articles that contain this error message, see the [[Wikipedia:Maintenance|maintenance category]]: [[:Category:Hatnote templates with errors]]. ==TemplateData== <templatedata> { "description": "This template creates a hatnote to point to a small number of related pages. It is placed at the top of a section, directly underneath the section heading.", "params": { "1": { "label": "Page 1", "description": "The name of the first page that you want to link to.", "type": "wiki-page-name", "required": true, "example": "Article name" }, "2": { "label": "Page 2", "description": "The name of the second page that you want to link to.", "type": "wiki-page-name", "required": false }, "3": { "label": "Page 3", "description": "The name of the third page that you want to link to. More pages can be added using the parameters \"4\", \"5\", \"6\", etc.", "type": "wiki-page-name", "required": false }, "label 1": { "label": "Label 1", "type": "string", "description": "What the first linked article is to be displayed as. ", "aliases": [ "l1" ] }, "label 2": { "label": "Label 2", "type": "string", "description": "What the second linked article is to be displayed as.", "aliases": [ "l2" ] }, "label 3": { "aliases": [ "l3" ], "type": "string", "label": "Label 3", "description": "What the third linked article is to be displayed as. Other labels can be added by using increasing numbers (starting with \"label 4\" or \"l4\" for page 4) as parameter names." }, "selfref": { "type": "boolean", "label": "Self reference", "description": "Set to \"yes\" if the template is a self-reference to Wikipedia that would not make sense on mirrors or forks of the Wikipedia site.", "example": "yes", "default": "no" }, "category": { "label": "Category", "description": "Set to \"no\", \"n\", \"false\", or \"0\" to suppresses the error tracking category (Category:Hatnote templates with errors). This only has an effect if no page names are specified.", "type": "boolean", "default": "yes", "example": "no" } }, "format": "inline" } </templatedata> ==See also== <includeonly> [[Category:Templates]] </includeonly> 02774f4e6b8e9592547778c4ff1d268700853631 Main Page 0 1 209 152 2023-04-19T20:44:11Z Werewire 2 comic update wikitext text/x-wiki __NOTOC__ == Welcome to {{SITENAME}}! == This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. It is an ongoing interactive horror comic. It stars an [[Kid|unnamed gray child]] trapped in a facility, staging their escape after waking up in the immediate aftermath of a mysterious incident. '''Latest Update:''' 19th Apr 2023, 4:30 PM [https://ecopportunityx.cfw.me Page 137] == For visitors of this wiki: == This wiki will contain helpful information about the characters and setting of EOX. Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]] Things that are planned to be included is: * Basic Plot summaries * Personality * Relationships * <s>Highlight colors</s> * Images from the comics * <s>All the cast images</s> minus a possible few from brian this is complete '''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''. ==== I have a problem with/suggestion for the wiki! ==== If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact: * [[User:Werewire|Me]] * Any future "mods" === Additional Links === * [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom * [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts e33d5562040f409daba3d7f88f76d0cc0e237fe6 212 209 2023-05-24T20:06:01Z Werewire 2 comic update wikitext text/x-wiki __NOTOC__ == Welcome to {{SITENAME}}! == This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. It is an ongoing interactive horror comic. It stars an [[Kid|unnamed gray child]] trapped in a facility, staging their escape after waking up in the immediate aftermath of a mysterious incident. '''Latest Update:''' 24th May 2023, 1:11 PM [https://ecopportunityx.cfw.me Page 138] == For visitors of this wiki: == This wiki will contain helpful information about the characters and setting of EOX. Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]] Things that are planned to be included is: * Basic Plot summaries * Personality * Relationships * <s>Highlight colors</s> * Images from the comics * <s>All the cast images</s> minus a possible few from brian this is complete '''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''. ==== I have a problem with/suggestion for the wiki! ==== If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact: * [[User:Werewire|Me]] * Any future "mods" === Additional Links === * [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom * [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts 38fab2aaf4f29efc231807e25b3743411a88275b 232 212 2023-06-15T09:03:02Z Ian3080 8 Added wiki page links for ease of navigation (temporary) wikitext text/x-wiki __NOTOC__ == Welcome to {{SITENAME}}! == This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. It is an ongoing interactive horror comic. It stars an [[Kid|unnamed gray child]] trapped in a facility, staging their escape after waking up in the immediate aftermath of a mysterious incident. '''Latest Update:''' 24th May 2023, 1:11 PM [https://ecopportunityx.cfw.me Page 138] == For visitors of this wiki: == This wiki will contain helpful information about the characters and setting of EOX. Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]] Things that are planned to be included is: * Basic Plot summaries * Personality * Relationships * <s>Highlight colors</s> * Images from the comics * <s>All the cast images</s> minus a possible few from brian this is complete '''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''. ==== I have a problem with/suggestion for the wiki! ==== If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact: * [[User:Werewire|Me]] * Any future "mods" === Wiki Page Links === * [[:Category:Characters|Characters]] * [[:Category:Locations|Locations]] * [[:Category:Items|Items]] * [[Special:ListFiles|Uploaded Images]] * [[Special:Categories|Categories]] * [[Special:RecentChanges|Recent Changes]] * [[Special:WantedCategories|Wanted Categories]] * [[Special:ShortPages|Short Pages]] === Additional Links === * [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom * [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts f7d741db78a6b908014464586d0a4fc24e232258 233 232 2023-06-15T09:03:47Z Ian3080 8 Fixed formatting. oopsies wikitext text/x-wiki __NOTOC__ == Welcome to {{SITENAME}}! == This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. It is an ongoing interactive horror comic. It stars an [[Kid|unnamed gray child]] trapped in a facility, staging their escape after waking up in the immediate aftermath of a mysterious incident. '''Latest Update:''' 24th May 2023, 1:11 PM [https://ecopportunityx.cfw.me Page 138] == For visitors of this wiki: == This wiki will contain helpful information about the characters and setting of EOX. Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]] Things that are planned to be included is: * Basic Plot summaries * Personality * Relationships * <s>Highlight colors</s> * Images from the comics * <s>All the cast images</s> minus a possible few from brian this is complete '''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''. ==== I have a problem with/suggestion for the wiki! ==== If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact: * [[User:Werewire|Me]] * Any future "mods" === Wiki Page Links === * [[:Category:Characters|Characters]] * [[:Category:Locations|Locations]] * [[:Category:Items|Items]] * [[Special:ListFiles|Uploaded Images]] * [[Special:Categories|Categories]] * [[Special:RecentChanges|Recent Changes]] * [[Special:WantedCategories|Wanted Categories]] * [[Special:ShortPages|Short Pages]] === Additional Links === * [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom * [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts 659f85db72b2f5624060f50485750b1ce22a9bfc 244 233 2023-06-27T19:55:22Z Werewire 2 comic update wikitext text/x-wiki __NOTOC__ == Welcome to {{SITENAME}}! == This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. It is an ongoing interactive horror comic. It stars an [[Kid|unnamed gray child]] trapped in a facility, staging their escape after waking up in the immediate aftermath of a mysterious incident. '''Latest Update:''' 27th June 2023, 9:37 AM [https://ecopportunityx.cfw.me Page 139] == For visitors of this wiki: == This wiki will contain helpful information about the characters and setting of EOX. Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]] Things that are planned to be included is: * Basic Plot summaries * Personality * Relationships * <s>Highlight colors</s> * Images from the comics * <s>All the cast images</s> minus a possible few from brian this is complete '''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''. ==== I have a problem with/suggestion for the wiki! ==== If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact: * [[User:Werewire|Me]] * Any future "mods" === Wiki Page Links === * [[:Category:Characters|Characters]] * [[:Category:Locations|Locations]] * [[:Category:Items|Items]] * [[Special:ListFiles|Uploaded Images]] * [[Special:Categories|Categories]] * [[Special:RecentChanges|Recent Changes]] * [[Special:WantedCategories|Wanted Categories]] * [[Special:ShortPages|Short Pages]] === Additional Links === * [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom * [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts 7c9b5c867210abb0677afcfb015336e9c29afa6f File:Pg 13 panel 1.png 6 82 210 2023-05-21T04:23:14Z Werewire 2 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 Daisy 0 51 211 133 2023-05-21T04:23:52Z Werewire 2 /* Gallery */ added image wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #ff8000; border-collapse: collapse; | abovestyle = background: #ff8000; color: #000000; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #ff8000; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #ff8000; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castdaisy.png|frameless|200px|center|link=]] | data1 = | label2 = First Appearance: | data2 = Page 9, 2/4/22 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = ff8000 | label5 = Pronouns: | data5 = Any (primarily she/it) | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Daisy''' is a robot that's supposed to be surveying the facility<ref>https://ecopportunityx.cfw.me/comics/67/</ref> but isn't because rubble collapsed onto her. She just follows kid and everyone else around, doing things like brute forcing 9 digit locks for them<ref>https://ecopportunityx.cfw.me/comics/42</ref>. == Summary == == Trivia == * Daisy was named by an anonymous commenter named "el" after page 13's name<ref>https://ecopportunityx.cfw.me/comics/13</ref> and the name won by 9 votes.<ref>https://ecopportunityx.cfw.me/comics/14</ref> == Gallery == <gallery> Castrobot.png|Daisy's First cast image pg 13 panel 1.png|Being lifted up by kid </gallery> == References == <references /> [[Category:Characters]] 7a44b7b1897e29c2d3d0f31f00c193235614aeca Kid 0 11 213 148 2023-05-31T02:32:42Z Spushii 10 Still needs more editing. Moved some information from initial blurb to summary section to avoid including spoilers in initial blurb. wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #191919; border-collapse: collapse; | abovestyle = background: #191919; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #191919; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #191919; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castkidwithcape.png|frameless|200px|center|link=]] | data1 = "Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!" | label2 = First Appearance: | data2 = Page 1, 2/2/22 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = 191919 | label5 = Pronouns: | data5 = Any | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = [[Dr. Zeller]] (Friend, former caretaker) [[Daisy]], [[Ball Pit Beast]], [[Ashley]], [[Brian]], [[Chantal]], [[The Facility's AI|AI]], [[Higher Power (HP)|HP]] (Friends) [[Stephen Bass]] (Creator) | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Kid''' or "You" is a grey child with three eyes created as part of a test conducted in the Ecopportunityx Facility. They are the story's protagonist, and reader commands are 'sent to' them and are filtered through their perspective. ==Summary== {{{summary|Kid, who is initially unnamed before being asked to pick a name by [[Ashley]], is part of an experiment conducted by Ecopportunityx (or Economic Opportunity X) at the will of it's founder and CEO [[Stephen Bass]] in his attempt to synthesize an especially resilient, immortal humanoid host body, into which a person's brain and consciousness could be implanted.}}} ==Trivia== {{{trivia|-To be added}}} ==Gallery== <gallery> File:Castkid.png|Kid Cast Image File:KidSitting.PNG|Sitting :-] </gallery> ==References== <references /> [[Category:Characters]] c9729cf40de7465df99916eb4adf0b1527445869 214 213 2023-05-31T18:00:30Z Spushii 10 Added additional information, some wording is cumbersome and there's some unnecessary information here but that can be fixed later. wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #191919; border-collapse: collapse; | abovestyle = background: #191919; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #191919; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #191919; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castkidwithcape.png|frameless|200px|center|link=]] | data1 = "Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!" | label2 = First Appearance: | data2 = Page 1, 2/2/22 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = 191919 | label5 = Pronouns: | data5 = Any | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = [[Dr. Zeller]] (Friend, former caretaker) [[Daisy]], [[Ball Pit Beast]], [[Ashley]], [[Brian]], [[Chantal]], [[The Facility's AI|AI]], [[Higher Power (HP)|HP]] (Friends) [[Stephen Bass]] (Creator) | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Kid''' or "You" is a grey child with three eyes created as part of a test conducted in the Ecopportunityx Facility. They are the story's protagonist, and reader commands are 'sent to' them and are filtered through their perspective. They are curious, kind, and playful, and enjoy drawing, playing, and the computer game Space Pinball. ==Summary== {{{summary|Kid, who is initially unnamed before being asked to pick a name by [[Ashley]], is part of an experiment conducted by Ecopportunityx (or Economic Opportunity X) at the will of its founder and CEO [[Stephen Bass]] in his attempt to synthesize an especially resilient, immortal humanoid host body, into which a person's brain and consciousness could be implanted. Kid was the most successful result of this experiment, with them remaining alive long after conception, unlike other synthesized vessels. It was because of this success that Kid was brought as a prototype into focus group testing for Bass' immortality project. As a result of a negative focus group response (likely at the notion of removing a sentient child's brain to insert one's own), Bass had focus shifted to a secondary project, leaving [[Dr. Zeller]], his second in command, to monitor Kid. After being introduced to Kid by Bass and realizing that they were a fully sentient and autonomous human child, Zeller began attempting to care for them, providing them with toys, art supplies, and companionship despite Bass' disapproval and protests otherwise. Discomforted by the parental role they felt they were not worthy to fill, and angered by their own complicity in the testing that allowed Kid to exist within these circumstances, Zeller created a plan to break Kid out of the facility and introduce them to broader society, where they could create a normal life. Before this could happen, the acceleration of the secondary project caused sudden, massive deterioration of the facility, and Zeller was killed in the fallout. In their last moments, they were able to leave Kid two messages: One, the keypad code to allow them out of their cell, and two, a message to "GET OUT", with the hopes of Kid finding their own freedom. Because of their peculiar upbringing, Kid has a very limited pool of knowledge and understanding of the world, and does not initially understand anything not taught to them by Zeller during their time in the facility. Because of this, reader commands that allude to knowledge unknown by Kid can confuse, upset, or overwhelm them, and many concepts need to be explained to them by other characters as they become relevant.}}} ==Trivia== {{{trivia|- Kid's favorite flavor of potato chip is Salt & Vinegar}}} ==Gallery== <gallery> File:Castkid.png|Kid Cast Image File:KidSitting.PNG|Sitting :-] </gallery> ==References== <references /> [[Category:Characters]] db21225e9cd4cfaf3ba17bb7ceff6b70aac173b5 216 214 2023-06-01T03:43:17Z Spushii 10 nickname and attribution. she definitely has more but i'll have to scrub the comic for them wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #191919; border-collapse: collapse; | abovestyle = background: #191919; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #191919; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #191919; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castkidwithcape.png|frameless|200px|center|link=]] | data1 = "Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!" | label2 = First Appearance: | data2 = Page 1, 2/2/22 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = 191919 | label5 = Pronouns: | data5 = Any | label6 = Nicknames: | data6 = Kiddo (by [[Brian]]) | label7 = Relationships: | data7 = [[Dr. Zeller]] (Friend, former caretaker) [[Daisy]], [[Ball Pit Beast]], [[Ashley]], [[Brian]], [[Chantal]], [[The Facility's AI|AI]], [[Higher Power (HP)|HP]] (Friends) [[Stephen Bass]] (Creator) | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Kid''' or "You" is a grey child with three eyes created as part of a test conducted in the Ecopportunityx Facility. They are the story's protagonist, and reader commands are 'sent to' them and are filtered through their perspective. They are curious, kind, and playful, and enjoy drawing, playing, and the computer game Space Pinball. ==Summary== {{{summary|Kid, who is initially unnamed before being asked to pick a name by [[Ashley]], is part of an experiment conducted by Ecopportunityx (or Economic Opportunity X) at the will of its founder and CEO [[Stephen Bass]] in his attempt to synthesize an especially resilient, immortal humanoid host body, into which a person's brain and consciousness could be implanted. Kid was the most successful result of this experiment, with them remaining alive long after conception, unlike other synthesized vessels. It was because of this success that Kid was brought as a prototype into focus group testing for Bass' immortality project. As a result of a negative focus group response (likely at the notion of removing a sentient child's brain to insert one's own), Bass had focus shifted to a secondary project, leaving [[Dr. Zeller]], his second in command, to monitor Kid. After being introduced to Kid by Bass and realizing that they were a fully sentient and autonomous human child, Zeller began attempting to care for them, providing them with toys, art supplies, and companionship despite Bass' disapproval and protests otherwise. Discomforted by the parental role they felt they were not worthy to fill, and angered by their own complicity in the testing that allowed Kid to exist within these circumstances, Zeller created a plan to break Kid out of the facility and introduce them to broader society, where they could create a normal life. Before this could happen, the acceleration of the secondary project caused sudden, massive deterioration of the facility, and Zeller was killed in the fallout. In their last moments, they were able to leave Kid two messages: One, the keypad code to allow them out of their cell, and two, a message to "GET OUT", with the hopes of Kid finding their own freedom. Because of their peculiar upbringing, Kid has a very limited pool of knowledge and understanding of the world, and does not initially understand anything not taught to them by Zeller during their time in the facility. Because of this, reader commands that allude to knowledge unknown by Kid can confuse, upset, or overwhelm them, and many concepts need to be explained to them by other characters as they become relevant.}}} ==Trivia== {{{trivia|- Kid's favorite flavor of potato chip is Salt & Vinegar}}} ==Gallery== <gallery> File:Castkid.png|Kid Cast Image File:KidSitting.PNG|Sitting :-] </gallery> ==References== <references /> [[Category:Characters]] bbc7077ffb574326cf0a55b82ae6b55f4d1db7a1 217 216 2023-06-01T03:45:36Z Spushii 10 noticed formatting error wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #191919; border-collapse: collapse; | abovestyle = background: #191919; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #191919; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #191919; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castkidwithcape.png|frameless|200px|center|link=]] | data1 = "Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!" | label2 = First Appearance: | data2 = Page 1, 2/2/22 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = 191919 | label5 = Pronouns: | data5 = Any | label6 = Nicknames: | data6 = Kiddo (by [[Brian]]) | label7 = Relationships: | data7 = [[Dr. Zeller]] (Friend, former caretaker) [[Daisy]], [[Ball Pit Beast]], [[Ashley]], [[Brian]], [[Chantal]], [[The Facility's AI|AI]], [[Higher Power (HP)|HP]] (Friends) [[Stephen Bass]] (Creator) | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Kid''' or "You" is a grey child with three eyes created as part of a test conducted in the Ecopportunityx Facility. They are the story's protagonist, and reader commands are 'sent to' them and are filtered through their perspective. They are curious, kind, and playful, and enjoy drawing, playing, and the computer game Space Pinball. ==Summary== Kid, who is initially unnamed before being asked to pick a name by [[Ashley]], is part of an experiment conducted by Ecopportunityx (or Economic Opportunity X) at the will of its founder and CEO [[Stephen Bass]] in his attempt to synthesize an especially resilient, immortal humanoid host body, into which a person's brain and consciousness could be implanted. Kid was the most successful result of this experiment, with them remaining alive long after conception, unlike other synthesized vessels. It was because of this success that Kid was brought as a prototype into focus group testing for Bass' immortality project. As a result of a negative focus group response (likely at the notion of removing a sentient child's brain to insert one's own), Bass had focus shifted to a secondary project, leaving [[Dr. Zeller]], his second in command, to monitor Kid. After being introduced to Kid by Bass and realizing that they were a fully sentient and autonomous human child, Zeller began attempting to care for them, providing them with toys, art supplies, and companionship despite Bass' disapproval and protests otherwise. Discomforted by the parental role they felt they were not worthy to fill, and angered by their own complicity in the testing that allowed Kid to exist within these circumstances, Zeller created a plan to break Kid out of the facility and introduce them to broader society, where they could create a normal life. Before this could happen, the acceleration of the secondary project caused sudden, massive deterioration of the facility, and Zeller was killed in the fallout. In their last moments, they were able to leave Kid two messages: One, the keypad code to allow them out of their cell, and two, a message to "GET OUT", with the hopes of Kid finding their own freedom. Because of their peculiar upbringing, Kid has a very limited pool of knowledge and understanding of the world, and does not initially understand anything not taught to them by Zeller during their time in the facility. Because of this, reader commands that allude to knowledge unknown by Kid can confuse, upset, or overwhelm them, and many concepts need to be explained to them by other characters as they become relevant. ==Trivia== * Kid's favorite flavor of potato chip is Salt & Vinegar ==Gallery== <gallery> File:Castkid.png|Kid Cast Image File:KidSitting.PNG|Sitting :-] </gallery> ==References== <references /> [[Category:Characters]] 705328dc52ea6841fbadf81bcc91fcb510e9ca59 221 217 2023-06-01T16:53:14Z Spushii 10 References wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #191919; border-collapse: collapse; | abovestyle = background: #191919; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #191919; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #191919; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castkidwithcape.png|frameless|200px|center|link=]] | data1 = "Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!" | label2 = First Appearance: | data2 = Page 1, 2/2/22 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = 191919 | label5 = Pronouns: | data5 = Any | label6 = Nicknames: | data6 = Kiddo (by [[Brian]]) | label7 = Relationships: | data7 = [[Dr. Zeller]] (Friend, former caretaker) [[Daisy]], [[Ball Pit Beast]], [[Ashley]], [[Brian]], [[Chantal]], [[The Facility's AI|AI]], [[Higher Power (HP)|HP]] (Friends) [[Stephen Bass]] (Creator) | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Kid''' or "You" is a grey child with three eyes created as part of a test conducted in the Ecopportunityx Facility. They are the story's protagonist, and reader commands are 'sent to' them and are filtered through their perspective. They are curious, kind, and playful, and enjoy drawing, playing, and the computer game Space Pinball. ==Summary== Kid, who is initially unnamed before being asked to pick a name by [[Ashley]],<ref name=":1">https://ecopportunityx.cfw.me/comics/44</ref> is part of an experiment conducted by Ecopportunityx (or Economic Opportunity X) at the will of its founder and CEO [[Stephen Bass]] in his attempt to synthesize an especially resilient, immortal humanoid host body, into which a person's brain and consciousness could be implanted.<ref name=":2">https://ecopportunityx.cfw.me/comics/63/</ref> Kid was the most successful result of this experiment, with them remaining alive long after conception, unlike other synthesized vessels.<ref name=":3">https://ecopportunityx.cfw.me/comics/23/</ref><ref name=":4">https://ecopportunityx.cfw.me/comics/41/</ref> It was because of this success that Kid was brought as a prototype into focus group testing for Bass' immortality project.<ref name=":2">https://ecopportunityx.cfw.me/comics/63/</ref> As a result of a negative focus group response (likely at the notion of removing a sentient child's brain to insert one's own), Bass had focus shifted to a secondary project,<ref name=":5">https://ecopportunityx.cfw.me/comics/54/</ref><ref name=":2">https://ecopportunityx.cfw.me/comics/63/</ref> leaving [[Dr. Zeller]], his second in command, to monitor Kid. After being introduced to Kid by Bass and realizing they were a fully sentient human child, Zeller began attempting to care for them, providing them with toys, art supplies, and education despite Bass' disapproval and protests otherwise. Discomforted by the parental role they felt they were not worthy to fill, and angered by their own complicity in the testing that allowed Kid to exist within these circumstances, Zeller created a plan to break Kid out of the facility and introduce them to broader society, where they could create a normal life.<ref name=":3">https://ecopportunityx.cfw.me/comics/23/</ref> Before this could happen, the acceleration of the secondary project caused sudden, massive deterioration of the facility, and Zeller was killed in the fallout. In their last moments, they were able to leave Kid two messages: One, the keypad code to allow them out of their cell, and two, a message to "GET OUT", with the hopes of Kid finding their own freedom.<ref name=":6">https://ecopportunityx.cfw.me/comics/28/</ref><ref name=":7">https://ecopportunityx.cfw.me/comics/9/</ref> Because of their peculiar upbringing, Kid has a very limited pool of knowledge and understanding of the world, and does not initially understand anything not taught to them by Zeller during their time in the facility. Because of this, reader commands that allude to knowledge unknown by Kid can confuse, upset, or overwhelm them, and many concepts need to be explained to them by other characters as they become relevant. ==Trivia== * Kid's favorite flavor of potato chip is Salt & Vinegar <ref name=":8">https://ecopportunityx.cfw.me/comics/70/</ref> ==Gallery== <gallery> File:Castkid.png|Kid Cast Image File:KidSitting.PNG|Sitting :-] </gallery> ==References== <references /> [[Category:Characters]] e78158b7130058b69e066944d3a035e45a32e50a 222 221 2023-06-01T19:55:29Z Spushii 10 link added wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #191919; border-collapse: collapse; | abovestyle = background: #191919; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #191919; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #191919; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castkidwithcape.png|frameless|200px|center|link=]] | data1 = "Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!" | label2 = First Appearance: | data2 = Page 1, 2/2/22 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = 191919 | label5 = Pronouns: | data5 = Any | label6 = Nicknames: | data6 = Kiddo (by [[Brian]]) | label7 = Relationships: | data7 = [[Dr. Zeller]] (Friend, former caretaker) [[Daisy]], [[Ball Pit Beast]], [[Ashley]], [[Brian]], [[Chantal]], [[The Facility's AI|AI]], [[Higher Power (HP)|HP]] (Friends) [[Stephen Bass]] (Creator) | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Kid''' or "You" is a grey child with three eyes created as part of a test conducted in the Ecopportunityx Facility. They are the story's protagonist, and reader commands are 'sent to' them and are filtered through their perspective. They are curious, kind, and playful, and enjoy drawing, playing, and the computer game Space Pinball. ==Summary== Kid, who is initially unnamed before being asked to pick a name by [[Ashley]],<ref name=":1">https://ecopportunityx.cfw.me/comics/44</ref> is part of an experiment conducted by [[Ecopportunityx]] at the will of its founder and CEO [[Stephen Bass]] in his attempt to synthesize an especially resilient, immortal humanoid host body, into which a person's brain and consciousness could be implanted.<ref name=":2">https://ecopportunityx.cfw.me/comics/63/</ref> Kid was the most successful result of this experiment, with them remaining alive long after conception, unlike other synthesized vessels.<ref name=":3">https://ecopportunityx.cfw.me/comics/23/</ref><ref name=":4">https://ecopportunityx.cfw.me/comics/41/</ref> It was because of this success that Kid was brought as a prototype into focus group testing for Bass' immortality project.<ref name=":2">https://ecopportunityx.cfw.me/comics/63/</ref> As a result of a negative focus group response (likely at the notion of removing a sentient child's brain to insert one's own), Bass had focus shifted to a secondary project,<ref name=":5">https://ecopportunityx.cfw.me/comics/54/</ref><ref name=":2">https://ecopportunityx.cfw.me/comics/63/</ref> leaving [[Dr. Zeller]], his second in command, to monitor Kid. After being introduced to Kid by Bass and realizing they were a fully sentient human child, Zeller began attempting to care for them, providing them with toys, art supplies, and education despite Bass' disapproval and protests otherwise. Discomforted by the parental role they felt they were not worthy to fill, and angered by their own complicity in the testing that allowed Kid to exist within these circumstances, Zeller created a plan to break Kid out of the facility and introduce them to broader society, where they could create a normal life.<ref name=":3">https://ecopportunityx.cfw.me/comics/23/</ref> Before this could happen, the acceleration of the secondary project caused sudden, massive deterioration of the facility, and Zeller was killed in the fallout. In their last moments, they were able to leave Kid two messages: One, the keypad code to allow them out of their cell, and two, a message to "GET OUT", with the hopes of Kid finding their own freedom.<ref name=":6">https://ecopportunityx.cfw.me/comics/28/</ref><ref name=":7">https://ecopportunityx.cfw.me/comics/9/</ref> Because of their peculiar upbringing, Kid has a very limited pool of knowledge and understanding of the world, and does not initially understand anything not taught to them by Zeller during their time in the facility. Because of this, reader commands that allude to knowledge unknown by Kid can confuse, upset, or overwhelm them, and many concepts need to be explained to them by other characters as they become relevant. ==Trivia== * Kid's favorite flavor of potato chip is Salt & Vinegar <ref name=":8">https://ecopportunityx.cfw.me/comics/70/</ref> ==Gallery== <gallery> File:Castkid.png|Kid Cast Image File:KidSitting.PNG|Sitting :-] </gallery> ==References== <references /> [[Category:Characters]] cd0b96a2d415a62ebf2b118fe928315b730393c5 228 222 2023-06-02T03:11:30Z Spushii 10 wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #191919; border-collapse: collapse; | abovestyle = background: #191919; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #191919; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #191919; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castkidwithcape.png|frameless|200px|center|link=]] | data1 = "Oh yeah, you heard a noise. Like someone yelling really loudly, or a crunching noise, or some mushy noise. There might have been multiple noises, actually. You don’t know, you just woke up!" | label2 = First Appearance: | data2 = Page 1, 2/2/22 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = 191919 | label5 = Pronouns: | data5 = Any | label6 = Nicknames: | data6 = Kiddo (by [[Brian]]) | label7 = Relationships: | data7 = [[Dr. Zeller]] (Friend, former caretaker) [[Daisy]], [[Ball Pit Beast]], [[Ashley]], [[Brian]], [[Chantal]], [[The Facility's AI|AI]], [[Higher Power (HP)|HP]] (Friends) [[Stephen Bass]] (Creator) | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Kid''' or "You" is a grey child with three eyes created as part of a test conducted in the [[EcopportunityX]] Facility. They are the story's protagonist, and reader commands are 'sent to' them and are filtered through their perspective. They are curious, kind, and playful, and enjoy drawing, playing, and the computer game Space Pinball. ==Summary== Kid, who is initially unnamed before being asked to pick a name by [[Ashley]],<ref name=":1">https://ecopportunityx.cfw.me/comics/44</ref> is part of an experiment conducted by EcopportunityX at the will of its founder and CEO [[Stephen Bass]] in his attempt to synthesize an especially resilient, immortal humanoid host body, into which a person's brain and consciousness could be implanted.<ref name=":2">https://ecopportunityx.cfw.me/comics/63/</ref> Kid was the most successful result of this experiment, with them remaining alive long after conception, unlike other synthesized vessels.<ref name=":3">https://ecopportunityx.cfw.me/comics/23/</ref><ref name=":4">https://ecopportunityx.cfw.me/comics/41/</ref> It was because of this success that Kid was brought as a prototype into focus group testing for Bass' immortality project.<ref name=":2">https://ecopportunityx.cfw.me/comics/63/</ref> As a result of a negative focus group response (likely at the notion of removing a sentient child's brain to insert one's own), Bass had focus shifted to a secondary project,<ref name=":5">https://ecopportunityx.cfw.me/comics/54/</ref><ref name=":2">https://ecopportunityx.cfw.me/comics/63/</ref> leaving [[Dr. Zeller]], his second in command, to monitor Kid. After being introduced to Kid by Bass and realizing they were a fully sentient human child, Zeller began attempting to care for them, providing them with toys, art supplies, and education despite Bass' disapproval and protests otherwise. Discomforted by the parental role they felt they were not worthy to fill, and angered by their own complicity in the testing that allowed Kid to exist within these circumstances, Zeller created a plan to break Kid out of the facility and introduce them to broader society, where they could create a normal life.<ref name=":3">https://ecopportunityx.cfw.me/comics/23/</ref> Before this could happen, the acceleration of the secondary project caused sudden, massive deterioration of the facility, and Zeller was killed in the fallout. In their last moments, they were able to leave Kid two messages: One, the keypad code to allow them out of their cell, and two, a message to "GET OUT", with the hopes of Kid finding their own freedom.<ref name=":6">https://ecopportunityx.cfw.me/comics/28/</ref><ref name=":7">https://ecopportunityx.cfw.me/comics/9/</ref> Because of their peculiar upbringing, Kid has a very limited pool of knowledge and understanding of the world, and does not initially understand anything not taught to them by Zeller during their time in the facility. Because of this, reader commands that allude to knowledge unknown by Kid can confuse, upset, or overwhelm them, and many concepts need to be explained to them by other characters as they become relevant. ==Trivia== * Kid's favorite flavor of potato chip is Salt & Vinegar <ref name=":8">https://ecopportunityx.cfw.me/comics/70/</ref> ==Gallery== <gallery> File:Castkid.png|Kid Cast Image File:KidSitting.PNG|Sitting :-] </gallery> ==References== <references /> [[Category:Characters]] 43fe79d960ecb9bb5b54541a6fa29fac9b03f8c2 Stephen Bass 0 32 215 142 2023-06-01T03:42:16Z Spushii 10 nickname attribution, changed status to deceased wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #ff0000; border-collapse: collapse; | abovestyle = background: #ff0000; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #ff0000; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #ff0000; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castbass.png|frameless|200px|center|link=]] | data1 = "...This is all your fault, you know. If it wasn’t for your little deformity-- the focus group wouldn’t have had such a negative response!" | label2 = First Appearance: | data2 = Page 39, 2/22/22 | label3 = Status: | data3 = Deceased | label4 = Highlight Color: | data4 = ff0000 | label5 = Pronouns: | data5 = He/him | label6 = Nicknames: | data6 = Stevie (by [[Brian]]) | label7 = Relationships: | data7 = [[Dr. Zeller]] (Subordinate) [[Brian]] (Former friend) [[Ashley]], [[Chantal]] (Employees) | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Stephen Bass''' is a major character in EcopportunityX. He was the CEO of EOX, and the one responsible for the disaster that befell the facility. == Summary == Bass caused the end of his company due to desperation because end of the fiscal year was coming up and [[Higher Power (HP)|HP]] was brought down. He was killed by [[Brian]] on page 93. == Trivia == * Bass attempted to use [[Brian]]'s phone to text himself messages that said that they were still friends.<ref>https://ecopportunityx.cfw.me/comics/130/</ref> * Bass owned a blu-ray copy of The Big Bang Theory: The Complete Series, that he kept hidden under his bed.<ref>https://ecopportunityx.cfw.me/comics/105/</ref> * Interestingly, with Bass' death we have no other way to learn more about [[Dr. Zeller]] since Ashley, Brian, and Chantal barely knew them.<sup>[Citation Needed]</sup> == Gallery == <gallery> Castbassend.png|His latest cast image. You can hazard a guess as to why it wasn't used. Pg 54 panel 3.png|FUCKING SHIT JACKASS! Pg 112 panel 2.png|Most pathetic child kicker ever </gallery> == References == <references /> [[Category:Characters]] 6743940f1743a45681b729dfd7c7fb7231a5db90 225 215 2023-06-01T23:26:02Z Spushii 10 wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #ff0000; border-collapse: collapse; | abovestyle = background: #ff0000; color: #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #ff0000; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #ff0000; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castbass.png|frameless|200px|center|link=]] | data1 = "...This is all your fault, you know. If it wasn’t for your little deformity-- the focus group wouldn’t have had such a negative response!" | label2 = First Appearance: | data2 = Page 39, 2/22/22 | label3 = Status: | data3 = Deceased | label4 = Highlight Color: | data4 = ff0000 | label5 = Pronouns: | data5 = He/him | label6 = Nicknames: | data6 = Stevie (by [[Brian]]) | label7 = Relationships: | data7 = [[Dr. Zeller]] (Subordinate) [[Brian]] (Former friend) [[Ashley]], [[Chantal]] (Employees) | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Stephen Bass''' is a major character in EcopportunityX. He was the CEO of EOX, and the one responsible for the disaster that befell the facility. == Summary == Bass caused the end of his company due to desperation because end of the fiscal year was coming up and [[Higher Power (HP)|HP]] was brought down. He was killed by [[Brian]] on page 93. == Trivia == * Bass attempted to use [[Brian]]'s phone to text himself messages that said that they were still friends.<ref>https://ecopportunityx.cfw.me/comics/130/</ref> * Bass owned a blu-ray copy of The Big Bang Theory: The Complete Series, that he kept hidden under his bed.<ref>https://ecopportunityx.cfw.me/comics/105/</ref> * Interestingly, with Bass' death we have no other way to learn more about [[Dr. Zeller]] since Ashley, Brian, and Chantal barely knew them.<sup>[Citation Needed]</sup> * It's pronounced ''"bay-ss",'' like the instrument. Not the fish. == Gallery == <gallery> Castbassend.png|His latest cast image. You can hazard a guess as to why it wasn't used. Pg 54 panel 3.png|FUCKING SHIT JACKASS! Pg 112 panel 2.png|Most pathetic child kicker ever </gallery> == References == <references /> [[Category:Characters]] 40975278e6dea671e369f794b7331068bf96dbda Dr. Zeller 0 24 218 85 2023-06-01T04:36:19Z Spushii 10 summary added, grammatical error corrected. wikitext text/x-wiki {{Infobox/Character page | name = Dr. Zeller | image = Castzellerborder.png | quote = They asked my name. I couldn’t tell the kid my name. Because if I did, they’d ask what their name is. And I’d have to tell them they don’t have one. And they’d ask if they can have one. And I’d have to name them. | first_appearance = Page 8, 2/3/2022 | status = Deceased | pronouns = He/they | highlight_color = <!-- without # --> 00ffff | nicknames = | relationships = | likes = | dislikes = | introduction = '''Dr. Zeller''' was a high-ranking scientist who worked at EcopportunityX, acting as [[Stephen Bass]]' second-in-command before they were killed prior to the comic's beginning. Very little is known about them. |summary = Dr. Zeller was a scientist at EcopportunityX, acting as one of its most highest ranking employees, second only to CEO [[Stephen Bass]]. Their position meant they were often most directly responsible for overseeing the lab work conducted by EcopportunityX, earning him a negative reputation among the lab workers, particularly [[Ashley]], for constantly criticizing them. In their life, they would occasionally abuse lab chemicals as a way to cope with the stress of their work and of dealing with Bass. When [[Kid]], the most successful result of EcopportunityX's primary experiment, was shown to Zeller, he became overwhelmed with the reality of his own actions, and grew to resent both EcopportunityX and himself for allowing a child to come to existence in such terrible circumstances. While initially trying to convince Bass that the experiment was a failure and to cancel the project, Zeller attempted to care for Kid, providing them with toys, art supplies, and basic education, as well as routinely letting them out of their cell room and into his office. When convincing Bass of Kid's humanity proved unsuccessful, Zeller decided they would break Kid out of the facility and introduce them to broader society where they could create a normal life. On the day they attempted to see this plan through, the facility underwent a cataclysmic event, causing, among other things, impossible alterations to its layout and the appearance of violent monsters. Before Kid could be retrieved, Zeller was fatally attacked by one such monster. In his final moments, he was able to leave Kid two messages written in his own blood: one, the keypad code to allow them out of their cell, and two, a message to "GET OUT" with the hopes of them finding their own freedom. | trivia = -To be added | gallery = <gallery> Yourdrawing.png|Kid's drawing Zeller1.png|They got fucking chomped Faceless Zeller.PNG|Greeting each other :-) </gallery> }} 339d653c09469fa30568c93574d78b1d69ef89ee 219 218 2023-06-01T16:10:30Z Spushii 10 clearer wording, relationship information added. wikitext text/x-wiki {{Infobox/Character page | name = Dr. Zeller | image = Castzellerborder.png | quote = They asked my name. I couldn’t tell the kid my name. Because if I did, they’d ask what their name is. And I’d have to tell them they don’t have one. And they’d ask if they can have one. And I’d have to name them. | first_appearance = Page 8, 2/3/2022 | status = Deceased | pronouns = He/they | highlight_color = <!-- without # --> 00ffff | nicknames = | relationships = [[Kid]] (Friend) [[Stephen Bass]] ("Friend", Boss) [[Ashley]] (Employee) | likes = | dislikes = | introduction = '''Dr. Zeller''' was a high-ranking scientist who worked at EcopportunityX, acting as [[Stephen Bass]]' second-in-command before they were killed prior to the comic's beginning. Very little is known about them. |summary = Dr. Zeller was a scientist at EcopportunityX, acting as one of its most highest ranking employees, second only to CEO [[Stephen Bass]]. Their position meant they were often most directly responsible for overseeing the lab work conducted by EcopportunityX, earning him a negative reputation among the lab workers, particularly [[Ashley]], for constantly criticizing them. In their life, they would recreationally abuse lab chemicals as a way to cope with the stress of their work and of dealing with Bass. When [[Kid]], the most successful result of EcopportunityX's primary experiment, was shown to Zeller, he became overwhelmed with the reality of his own actions, and grew to resent both EcopportunityX and himself for allowing a child to come to existence in such terrible circumstances. While initially trying to convince Bass that the experiment was a failure and to cancel the project, Zeller attempted to care for Kid, providing them with toys, art supplies, and basic education, as well as routinely letting them out of their cell room and into his office. When convincing Bass of Kid's humanity proved unsuccessful, Zeller decided they would break Kid out of the facility and introduce them to broader society where they could create a normal life. On the day they attempted to see this plan through, the facility underwent a cataclysmic event, causing, among other things, impossible alterations to its layout and the appearance of violent monsters. Before Kid could be retrieved, Zeller was fatally attacked by one such monster. In his final moments, he was able to leave Kid two messages written in his own blood: one, the keypad code to allow them out of their cell, and two, a message to "GET OUT" with the hopes of them finding their own freedom. | trivia = -To be added | gallery = <gallery> Yourdrawing.png|Kid's drawing Zeller1.png|They got fucking chomped Faceless Zeller.PNG|Greeting each other :-) </gallery> }} b57198a08ca86ef78b7a5cfd797bef8523b56a4c 220 219 2023-06-01T16:29:12Z Spushii 10 formatting. there's also some weird stuff going on with the way this page is formatted compared to some of the other ones that i don't understand wikitext text/x-wiki {{Infobox/Character page | name = Dr. Zeller | image = Castzellerborder.png | quote = They asked my name. I couldn’t tell the kid my name. Because if I did, they’d ask what their name is. And I’d have to tell them they don’t have one. And they’d ask if they can have one. And I’d have to name them. | first_appearance = Page 8, 2/3/2022 | status = Deceased | pronouns = He/they | highlight_color = <!-- without # --> 00ffff | nicknames = | relationships = [[Kid]] (Friend) [[Stephen Bass]] ("Friend", Boss) [[Ashley]] (Employee) | likes = | dislikes = | introduction = '''Dr. Zeller''' was a high-ranking scientist who worked at EcopportunityX, acting as [[Stephen Bass]]' second-in-command before they were killed prior to the comic's beginning. Very little is known about them. |summary = ===Working at EcopportunityX=== Dr. Zeller was a scientist at EcopportunityX, acting as one of its most highest ranking employees, second only to CEO [[Stephen Bass]]. Their position meant they were often most directly responsible for overseeing the lab work conducted by EcopportunityX, earning him a negative reputation among the lab workers, particularly [[Ashley]], for constantly criticizing them. In their life, they would recreationally abuse lab chemicals as a way to cope with the stress of their work and of dealing with Bass. When [[Kid]], the most successful result of EcopportunityX's primary experiment, was shown to Zeller, he became overwhelmed with the reality of his own actions, and grew to resent both EcopportunityX and himself for allowing a child to come to existence in such terrible circumstances. While initially trying to convince Bass that the experiment was a failure and to cancel the project, Zeller attempted to care for Kid, providing them with toys, art supplies, and basic education, as well as routinely letting them out of their cell room and into his office. ===The Incident=== When convincing Bass of Kid's humanity proved unsuccessful, Zeller decided they would break Kid out of the facility and introduce them to broader society where they could create a normal life. On the day they attempted to see this plan through, the facility underwent a cataclysmic event, causing, among other things, impossible alterations to its layout and the appearance of violent monsters. Before Kid could be retrieved, Zeller was fatally attacked by one such monster. In his final moments, he was able to leave Kid two messages written in his own blood: one, the keypad code to allow them out of their cell, and two, a message to "GET OUT" with the hopes of them finding their own freedom. | trivia = -To be added | gallery = <gallery> Yourdrawing.png|Kid's drawing Zeller1.png|They got fucking chomped Faceless Zeller.PNG|Greeting each other :-) </gallery> }} 96f9a8dd54d603e8dd086ff740ba1f8a93444179 226 220 2023-06-01T23:27:55Z Spushii 10 Page link wikitext text/x-wiki {{Infobox/Character page | name = Dr. Zeller | image = Castzellerborder.png | quote = They asked my name. I couldn’t tell the kid my name. Because if I did, they’d ask what their name is. And I’d have to tell them they don’t have one. And they’d ask if they can have one. And I’d have to name them. | first_appearance = Page 8, 2/3/2022 | status = Deceased | pronouns = He/they | highlight_color = <!-- without # --> 00ffff | nicknames = | relationships = [[Kid]] (Friend) [[Stephen Bass]] ("Friend", Boss) [[Ashley]] (Employee) | likes = | dislikes = | introduction = '''Dr. Zeller''' was a high-ranking scientist who worked at [[EcopportunityX]], acting as [[Stephen Bass]]' second-in-command before they were killed prior to the comic's beginning. Very little is known about them. |summary = ===Working at EcopportunityX=== Dr. Zeller was a scientist at EcopportunityX, acting as one of its most highest ranking employees, second only to CEO [[Stephen Bass]]. Their position meant they were often most directly responsible for overseeing the lab work conducted by EcopportunityX, earning him a negative reputation among the lab workers, particularly [[Ashley]], for constantly criticizing them. In their life, they would recreationally abuse lab chemicals as a way to cope with the stress of their work and of dealing with Bass. When [[Kid]], the most successful result of EcopportunityX's primary experiment, was shown to Zeller, he became overwhelmed with the reality of his own actions, and grew to resent both EcopportunityX and himself for allowing a child to come to existence in such terrible circumstances. While initially trying to convince Bass that the experiment was a failure and to cancel the project, Zeller attempted to care for Kid, providing them with toys, art supplies, and basic education, as well as routinely letting them out of their cell room and into his office. ===The Incident=== When convincing Bass of Kid's humanity proved unsuccessful, Zeller decided they would break Kid out of the facility and introduce them to broader society where they could create a normal life. On the day they attempted to see this plan through, the facility underwent a cataclysmic event, causing, among other things, impossible alterations to its layout and the appearance of violent monsters. Before Kid could be retrieved, Zeller was fatally attacked by one such monster. In his final moments, he was able to leave Kid two messages written in his own blood: one, the keypad code to allow them out of their cell, and two, a message to "GET OUT" with the hopes of them finding their own freedom. | trivia = -To be added | gallery = <gallery> Yourdrawing.png|Kid's drawing Zeller1.png|They got fucking chomped Faceless Zeller.PNG|Greeting each other :-) </gallery> }} d42f96bce5e11ae8d3f8f3490ce42ec8ca6c7c9f EcopportunityX 0 84 227 2023-06-01T23:32:51Z Spushii 10 capitalization typo in original page title wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #{{{highlight_color|aaa}}}; border-collapse: collapse; | abovestyle = background: #{{{highlight_color|aaa}}}; hexToRGB(hightlight_color) { const r = parseInt(hightlight_color.slice(1, 3), 16<ref>);</ref> const g = parseInt(hex.slice(3, 5), 16); const b = parseInt(hex.slice(5, 7), 16); return `rgb(${r}, ${g}, ${b})`; } color: if (r*0.299 + g*0.587 + b*0.114) > 130 use #000000; else use #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 10px; | above = EcopportunityX ''(Company)'' | image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }} | data1 = "ECONOMIC OPPORTUNITY X. IT’S THE STUPIDEST NAME I’VE EVER HEARD IN MY LIFE, NO GODDAMN CLUE WHY STEVIE-BOY WENT WITH IT." }} EcopportunityX (Also known as ''Economic Opportunity X'' <ref name=":1">https://https://ecopportunityx.cfw.me/comics/63/</ref> or ''EOX'') is an enigmatic company created by [[Stephen Bass]] for the purpose of conducting privatized scientific research. Many of the webcomic's characters are or have been employed by EOX, and all of them have interacted with it in some capacity. == Summary == EcopportunityX is a company created by Stephen Bass for the purpose of conducting scientific research. While initial plans for the company were numerous and broad, Bass' obsession with his immortality project led to it being the company's almost exclusive focus, with only a single active side project.<ref name=":2">https://ecopportunityx.cfw.me/comics/62/</ref> === The Immortality Project === {{{the immortality project|-To be added}}} === The Secondary Project === {{{the secondary project|-To be added}}} === The Facility === EcopportunityX's facility consist of a network of buildings, including dorms, at least one restaurant, and [[The Tower]], all residing in a top secret location. Employees of EOX would be shipped out using a company-provided vehicle with no windows and would live in the provided dormitories during their tenure.<ref name=":3">https://ecopportunityx.cfw.me/comics/104/</ref> For reasons of probably supernatural origin, some employees of EOX struggle to remember how they made it to the facilities in the first place.<ref name=":5">https://ecopportunityx.cfw.me/comics/75/</ref> == Trivia == {{{trivia|-To be added}}} == Gallery == {{{gallery|}}} == References == <references /> [[Category:Characters]] <noinclude> {| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed" | '''Notes''' |- | * [[Template:Infobox/Character page/Example | Example page]] * Empty Template <pre> {{Infobox/Character page | name = | image = | quote = | first_appearance = | status = | highlight_color = <!-- without # --> | pronouns = | nicknames = | relationships = | likes = | dislikes = | introduction = | summary = | trivia = | gallery = }} </pre> * unused rows are hidden so leave blank * <code>highlight_color</code> sets border color - leave blank if no color to use default gray * template adds page to <code>Character</code> category |} </noinclude> 90345ee9f687a6928ecbef230a05dd6cc95245de File:Page one.gif 6 85 229 2023-06-14T11:45:37Z Ian3080 8 wikitext text/x-wiki First page of Ecopportunityx depicting Kid waking up in their room bdb7bd9e75f370122a5f2b31c690bfed8af86b7c Template:Infobox/Location page 10 86 230 2023-06-15T08:50:58Z Ian3080 8 Created location template from existing character page wikitext text/x-wiki <!--Copied from the character page--> {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #{{{highlight_color|aaa}}}; border-collapse: collapse; | abovestyle = background: #{{{highlight_color|aaa}}}; hexToRGB(hightlight_color) { const r = parseInt(hightlight_color.slice(1, 3), 16); const g = parseInt(hex.slice(3, 5), 16); const b = parseInt(hex.slice(5, 7), 16); return `rgb(${r}, ${g}, ${b})`; } color: if (r*0.299 + g*0.587 + b*0.114) > 130 use #000000; else use #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }} | data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }} | label2 = First Appearance: | data2 = {{{first_appearance|}}} | label3 = Status: | data3 = {{{status|}}} | label4 = Highlight Color: | data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }} }} {{{introduction|}}} == Summary == {{{summary|-To be added}}} == Trivia == {{{trivia|-To be added}}} == Gallery == {{{gallery|}}} == References == <references /> [[Category:Locations]] <noinclude> {| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed" | '''Notes''' |- | * [[Template:Infobox/Location_page/Example | Example page]] * Empty Template <pre> {{Infobox/Character page | name = | image = | quote = | first_appearance = | status = | highlight_color = <!-- without # --> | introduction = | summary = | trivia = | gallery = }} </pre> * unused rows are hidden so leave blank * <code>highlight_color</code> sets border color - leave blank if no color to use default gray * template adds page to <code>Location</code> category |} </noinclude> 2b6b7cdfce124368ee1778d7852420c0ff9c7c56 Template:Infobox/Item page 10 87 231 2023-06-15T08:54:04Z Ian3080 8 Created item template from existing character page wikitext text/x-wiki <!--Copied from the location page--> {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #{{{highlight_color|aaa}}}; border-collapse: collapse; | abovestyle = background: #{{{highlight_color|aaa}}}; hexToRGB(hightlight_color) { const r = parseInt(hightlight_color.slice(1, 3), 16); const g = parseInt(hex.slice(3, 5), 16); const b = parseInt(hex.slice(5, 7), 16); return `rgb(${r}, ${g}, ${b})`; } color: if (r*0.299 + g*0.587 + b*0.114) > 130 use #000000; else use #ffffff; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #{{{highlight_color|aaa}}}; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = {{#if: {{{image|}}}| [[Image:{{{image}}}|frameless|200px|center|link=]] }} | data1 = {{#iF: {{{quote|}}}| "{{{quote|}}}" }} | label2 = First Appearance: | data2 = {{{first_appearance|}}} | label3 = Status: | data3 = {{{status|}}} | label4 = Highlight Color: | data4 = {{#if: {{{highlight_color|}}}| <nowiki>#</nowiki>{{{highlight_color|}}} }} }} {{{introduction|}}} == Summary == {{{summary|-To be added}}} == Trivia == {{{trivia|-To be added}}} == Gallery == {{{gallery|}}} == References == <references /> [[Category:Items]] <noinclude> {| style="width:100%; background: #aaa; padding: 0 3px;" class="mw-collapsible mw-collapsed" | '''Notes''' |- | * [[Template:Infobox/Item_page/Example | Example page]] * Empty Template <pre> {{Infobox/Character page | name = | image = | quote = | first_appearance = | status = | highlight_color = <!-- without # --> | introduction = | summary = | trivia = | gallery = }} </pre> * unused rows are hidden so leave blank * <code>highlight_color</code> sets border color - leave blank if no color to use default gray * template adds page to <code>Item</code> category |} </noinclude> 4576f4d32210dc23a75fb6e60e461accd73bb99a Category:Locations 14 88 234 2023-06-16T04:15:32Z Ian3080 8 created Location category overview wikitext text/x-wiki A [[:Category:Locations|Location]] is a place. That place can be large and encompass other locations, such as with [[:Category:The Tower|the tower]], or be only spanning a single room. This category contains all locations seen or mentioned in EcopportunityX. 51f575bdbe9237f5fe9504b9245b5d9c28acd947 Category:Items 14 89 235 2023-06-16T04:19:53Z Ian3080 8 Created Item category overview wikitext text/x-wiki This category contains all Items picked up by [[Kid|the protagonist]] as well as those important to the story, or otherwise mentioned. The most current category of items being held is available on the comic's [https://ecopportunityx.cfw.me/inventory/ inventory page]. 60728e0cf252e5119278f062b54002eb3a7acae0 236 235 2023-06-16T04:23:48Z Ian3080 8 Formatting change wikitext text/x-wiki This category contains all [[Items]] picked up by [[Kid|the protagonist]] as well as those important to the story, or otherwise mentioned. The most current category of items being held is available on the comic's [https://ecopportunityx.cfw.me/inventory/ inventory page]. 86cc869a2553722c9a9bb5fc99ae4bd03952f665 237 236 2023-06-16T04:25:14Z Ian3080 8 Fix revision 236 by [[Special:Contributions/Ian3080|Ian3080]] ([[User talk:Ian3080|talk]]) wikitext text/x-wiki This category contains all [[:Category:Items|Items]] picked up by [[Kid|the protagonist]] as well as those important to the story, or otherwise mentioned. The most current category of items being held is available on the comic's [https://ecopportunityx.cfw.me/inventory/ inventory page]. 74c260e2ee7fb6bee6f294dda5351851369ddfd6 File:EOX Floor 1.png 6 90 238 2023-06-16T04:52:25Z Ian3080 8 wikitext text/x-wiki The first floor of the EcopportunityX tower as left in the comic, containing no characters. 0230c38e66124fdf1408d5c13cc8e5fd0f84ec88 File:EOX Page 88.png 6 91 239 2023-06-16T05:20:35Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 82.png 6 92 240 2023-06-16T05:20:38Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 98.png 6 93 241 2023-06-16T05:22:37Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 Floor 1 0 96 245 2023-06-29T04:33:38Z Ian3080 8 Populate Floor 1 Page wikitext text/x-wiki {{Infobox/Location page |highlight_color=000000 |quote=As Chantal and Brian’s conversation continues, you find yourself tuning out. All you can do is stare up at the pair of double doors with that big red sign that says “EXIT” above them. You look down at Daisy, then up at the doors. You can just walk out. And leave. |first_appearance=Page 82 4/5/22 <ref name ="EOX_82">https://ecopportunityx.cfw.me/comics/82/</ref> |introduction=The first floor is the ground level of [[the Tower|the Tower]]. It contains a single room. |summary=Above it is the [[Floor 2|second floor]], and beneath is the [[Basement|basement]]. The first floor is barebones: it consists of the [[Reception|receptionist's office]] which is attached to the exit, the stairwell leading down from the second floor, and the [[Elevator|elevator]]. |trivia=The first floor is the one at street level, and not the first floor above the ground, confirming that EcopportunityX does not take place in the British Isles because of the discrepancies between American and British English.<ref name="Brit">https://en.wikipedia.org/wiki/British_English</ref> |image=EOX_Floor_1.png |gallery= <gallery> File:EOX_Page_82.png|First appearance File:EOX_Page_88.png|Connection from elevator to basement File:EOX_Page_98.png|Last appearance </gallery> |name=Floor 1}} cd5e9aaacd7e33c9c028fde4193aecf2c6413330 253 245 2023-06-29T05:07:58Z Ian3080 8 Change link format wikitext text/x-wiki {{Infobox/Location page |highlight_color=000000 |quote=As Chantal and Brian’s conversation continues, you find yourself tuning out. All you can do is stare up at the pair of double doors with that big red sign that says “EXIT” above them. You look down at Daisy, then up at the doors. You can just walk out. And leave. |first_appearance=Page 82 4/5/22 <ref name ="EOX_82">https://ecopportunityx.cfw.me/comics/82/</ref> |introduction=The first floor is the ground level of [[the Tower]]. It contains a single room. |summary=Above it is the [[Floor 2|second floor]], and beneath is the [[Basement]]. The first floor is barebones: it consists of the [[Reception|receptionist's office]] which is attached to the exit, the stairwell leading down from the second floor, and the [[Elevator]]. |trivia=The first floor is the one at street level, and not the first floor above the ground, confirming that EcopportunityX does not take place in the British Isles because of the discrepancies between American and British English.<ref name="Brit">https://en.wikipedia.org/wiki/British_English</ref> |image=EOX_Floor_1.png |gallery= <gallery> File:EOX_Page_82.png|First appearance File:EOX_Page_88.png|Connection from elevator to basement File:EOX_Page_98.png|Last appearance </gallery> |name=Floor 1}} 96c49b8b4a404b8752417334a0de1431bff1e6f0 File:EOX Page 80.png 6 97 246 2023-06-29T04:43:23Z Ian3080 8 wikitext text/x-wiki The first appearance of Floor 2, the room with the excess doors and the large flesh blob in the middle. Highlight color is hot pink, #FF00FF. 08756ffd53063aff51e159b1edb2e48c8a386229 File:EOX page 81.png 6 98 247 2023-06-29T04:52:32Z Ian3080 8 wikitext text/x-wiki Floor 2 of the tower, Ashley, Chantal, Kid, Daisy, and jarred Brian examine the room. Kid places a tape bow on the large flesh blob in the middle of the floor. 4325e04f269212adbff964646407a024f8dee9a5 File:EOX Page 81 (6).png 6 99 248 2023-06-29T04:55:01Z Ian3080 8 wikitext text/x-wiki The stairwell leading from Floor 2 to Floor 1. Ashley, jarred Brian, Chantal, Daisy, and Kid fall onto the floor after walking through the door. There is a single flesh blob on the ceiling. 270cfbb3dbdf9383c63d5065c7dad98ca5b2614d Floor 2 0 100 249 2023-06-29T04:57:15Z Ian3080 8 Create the floor 2 page wikitext text/x-wiki {{Infobox/Location page |name=Floor 2 |quote=“WHAT.” Exclaims [[Ashley]]. “WHY ARE THERE ALL THESE DOORS. HELLO? WHAT?!” |first_appearance=Page 80 4/3/22 <ref name="EOX_80">https://ecopportunityx.cfw.me/comics/80/</ref> |introduction=Floor 2 is the first floor above ground level in [[the Tower]]. |summary=Preceded by [[Maze|the maze]] on [[Floor 3]] and followed by [[Floor 1|floor 1]], this floor contains no real "rooms". The floor has many doors, the elevator, the stairwell leading down, and a large [[Fleshblob]] in the middle, which [[Kid]] gives a [[tape bow]]. Despite the large quantity of doors, spatial distortions render them all half-formed, and when Kid, [[Chantal]] , and Ashley attempt to enter separate doors, they all end up falling onto the stairwell (and onto [[Brian]], who is luckily unharmed). [[Ashley]] suggests that the doors from this floor are placed because of the movement of rooms from other floors. |trivia=The set of stairs leading down to this floor from the maze are never pictured, only mentioned in text. |highlight_color=FF00FF |image=EOX_Page_80.png |gallery= <gallery> EOX_page_81.png|Placing the tape bow on the fleshblob EOX_Page_81 (6).png|The stairwell leading down to floor 1 </gallery> }} b458e73dc5db2c5c89fd6bd26f53645a673975bb 252 249 2023-06-29T05:06:59Z Ian3080 8 Added more images wikitext text/x-wiki {{Infobox/Location page |name=Floor 2 |quote=“WHAT.” Exclaims [[Ashley]]. “WHY ARE THERE ALL THESE DOORS. HELLO? WHAT?!” |first_appearance=Page 80 4/3/22 <ref name="EOX_80">https://ecopportunityx.cfw.me/comics/80/</ref> |introduction=Floor 2 is the first floor above ground level in [[the Tower]]. |summary=Preceded by the [[Maze]] on [[Floor 3]] and followed by [[Floor 1]], this floor contains no real "rooms". The floor has many doors, the elevator, the stairwell leading down, and a large [[Fleshblob]] in the middle, which [[Kid]] gives a [[Tape bow]]. Despite the large quantity of doors, spatial distortions render them all half-formed, and when Kid, [[Chantal]] , and Ashley attempt to enter separate doors, they all end up falling onto the stairwell (and onto [[Brian]], who is luckily unharmed). [[Ashley]] suggests that the doors from this floor are placed because of the movement of rooms from other floors. |trivia=The set of stairs leading down to this floor from the maze are never pictured, only mentioned in text. |highlight_color=FF00FF |image=EOX_Floor_2.png |gallery= <gallery> EOX_Page_80.png|First appearance of floor 2 EOX_page_81.png|Placing the tape bow on the fleshblob EOX_Page_81 (6).png|The stairwell leading down to floor 1 EOX_Page_82 (2).png|Holding hands as they descend </gallery> }} ebde2a9a18d02eb05885476d607bcbb9fd1871b3 File:EOX Floor 2.png 6 101 250 2023-06-29T05:01:27Z Ian3080 8 wikitext text/x-wiki Blank version of the second floor of the tower. Highlight color #FF00FF b98a90660d0fefbb481d8ac647043ed6acaf9493 File:EOX Page 82 (2).png 6 102 251 2023-06-29T05:05:26Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 76 (3).png 6 103 254 2023-06-29T05:28:51Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 80 (5).png 6 104 255 2023-06-29T05:28:53Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 77 (4).png 6 105 256 2023-06-29T05:28:55Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Floor 3.png 6 106 257 2023-06-29T05:30:45Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 Floor 3 0 107 258 2023-06-29T05:31:43Z Ian3080 8 Create the floor 3 page wikitext text/x-wiki {{Infobox/Location page|highlight_color=0000FF |name=Floor 3 |image=EOX_Floor_3.png |quote=Now in blue raspberry flavor! |first_appearance=Page 76 3/30/22 <ref name ="EOX_76">https://ecopportunityx.cfw.me/comics/76/</ref> |introduction=The third floor of [[the Tower]], it contains the [[Maze]] as well as [[Chantal's Cubicle]]. |summary=Above it is [[Floor 4]] and followed by [[Floor 2]]. This floor contains one singular room of the Maze, which leads to Chantal's cubicle. |trivia=The comic updated on April 1st while on this floor, directing readers through hovertext to https://ecopportunityx.cfw.me/realending |gallery= <gallery> File:EOX_Page_76 (3).png|First appearance of floor 3 File:EOX_Page_77 (4).png|Exploring most of the Maze File:EOX_Page_80 (5).png|Last appearance of floor 3 </gallery> }} a71a2b1bd4da4ca5fb1873882e817c2c9ead54e5 259 258 2023-06-29T23:08:06Z Werewire 2 added citation for the april 1st update fact wikitext text/x-wiki {{Infobox/Location page|highlight_color=0000FF |name=Floor 3 |image=EOX_Floor_3.png |quote=Now in blue raspberry flavor! |first_appearance=Page 76 3/30/22 <ref name ="EOX_76">https://ecopportunityx.cfw.me/comics/76/</ref> |introduction=The third floor of [[the Tower]], it contains the [[Maze]] as well as [[Chantal's Cubicle]]. |summary=Above it is [[Floor 4]] and followed by [[Floor 2]]. This floor contains one singular room of the Maze, which leads to Chantal's cubicle. |trivia=The comic updated on April 1st while on this floor, directing readers through hovertext to https://ecopportunityx.cfw.me/realending<ref name ="EOX_78">https://ecopportunityx.cfw.me/comics/78/</ref> |gallery= <gallery> File:EOX_Page_76 (3).png|First appearance of floor 3 File:EOX_Page_77 (4).png|Exploring most of the Maze File:EOX_Page_80 (5).png|Last appearance of floor 3 </gallery> }} d1a0b67c159174b03defe460a3fb7625e1b38f1e Floor 2 0 100 260 252 2023-06-29T23:16:39Z Werewire 2 added citation wikitext text/x-wiki {{Infobox/Location page |name=Floor 2 |quote=“WHAT.” Exclaims [[Ashley]]. “WHY ARE THERE ALL THESE DOORS. HELLO? WHAT?!” |first_appearance=Page 80 4/3/22 <ref name="EOX_80">https://ecopportunityx.cfw.me/comics/80/</ref> |introduction=Floor 2 is the first floor above ground level in [[the Tower]]. |summary=Preceded by the [[Maze]] on [[Floor 3]] and followed by [[Floor 1]], this floor contains no real "rooms". The floor has many doors, the elevator, the stairwell leading down, and a large [[Fleshblob]] in the middle, which [[Kid]] gives a [[Tape bow]]. Despite the large quantity of doors, spatial distortions render them all half-formed, and when Kid, [[Chantal]] , and Ashley attempt to enter separate doors, they all end up falling onto the stairwell (and onto [[Brian]], who is luckily unharmed). [[Ashley]] suggests that the doors from this floor are placed because of the movement of rooms from other floors. |trivia=The set of stairs leading down to this floor from the maze are never pictured, only mentioned in text.<ref name="EOX_80" /> |highlight_color=FF00FF |image=EOX_Floor_2.png |gallery= <gallery> EOX_Page_80.png|First appearance of floor 2 EOX_page_81.png|Placing the tape bow on the fleshblob EOX_Page_81 (6).png|The stairwell leading down to floor 1 EOX_Page_82 (2).png|Holding hands as they descend </gallery> }} f78c3c0ce1eaa996f6db17c2002c773f0f943a40 305 260 2023-08-08T04:36:16Z Ian3080 8 change tape bow to direct to electric tape object page wikitext text/x-wiki {{Infobox/Location page |name=Floor 2 |quote=“WHAT.” Exclaims [[Ashley]]. “WHY ARE THERE ALL THESE DOORS. HELLO? WHAT?!” |first_appearance=Page 80 4/3/22 <ref name="EOX_80">https://ecopportunityx.cfw.me/comics/80/</ref> |introduction=Floor 2 is the first floor above ground level in [[the Tower]]. |summary=Preceded by the [[Maze]] on [[Floor 3]] and followed by [[Floor 1]], this floor contains no real "rooms". The floor has many doors, the elevator, the stairwell leading down, and a large [[Fleshblob]] in the middle, which [[Kid]] gives a [[Electric Tape|Tape bow]]. Despite the large quantity of doors, spatial distortions render them all half-formed, and when Kid, [[Chantal]] , and Ashley attempt to enter separate doors, they all end up falling onto the stairwell (and onto [[Brian]], who is luckily unharmed). [[Ashley]] suggests that the doors from this floor are placed because of the movement of rooms from other floors. |trivia=The set of stairs leading down to this floor from the maze are never pictured, only mentioned in text.<ref name="EOX_80" /> |highlight_color=FF00FF |image=EOX_Floor_2.png |gallery= <gallery> EOX_Page_80.png|First appearance of floor 2 EOX_page_81.png|Placing the tape bow on the fleshblob EOX_Page_81 (6).png|The stairwell leading down to floor 1 EOX_Page_82 (2).png|Holding hands as they descend </gallery> }} e2a6f1b71479dc506916f4f84d74ca372d77ac80 MediaWiki:Common.css 8 6 261 151 2023-06-29T23:31:40Z Werewire 2 adjusted css so that use of wikitables normally is possible css text/css /* CSS placed here will be applied to all skins */ body { display: table; width: 100%; font-family: tamoha, arial, sans-serif; background-color: #555555; color: #282828; margin: 0; min-width: 750px; } .mw-logo-container { content: url(https://static.miraheze.org/ecopportunityxwiki/6/6d/Wiki_header.png?20221126001210); } .mw-page-container { background: #555555; } #content { border: 1px solid #000000; background-color: #DFDFDF; padding: 10px; margin-left: -30px; } #mw-panel.mw-sidebar { border: 1px solid #000000; background: #DFDFDF; padding: 5px; margin-left: -10px; } a:link { color: #0000ff; } a:visited { color: #82007d; } .mw-parser-output a.extiw, .mw-parser-output a.external { color: #0000ff; } .mw-parser-output a.extiw:visited, .mw-parser-output a.external:visited { color: #82007d; } #footer-places li a { color: #d7d7d7; border-bottom: 1px solid #d7d7d7; } .vector-menu-portal .vector-menu-content li a:visited, .vector-menu-portal .vector-menu-content li a { color: #0000ff; } .vector-menu-tabs li a { color: #0000ff; } .vector-menu-tabs li { background-image: linear-gradient(to top,#7f7f7f 0,#aaaaaa 1px,#dfdfdf 100%); background-position: left bottom; background-repeat: repeat-x; float: left; display: block; height: 100%; margin: 0; padding: 0; line-height: 1.125em; white-space: nowrap; } .vector-menu-tabs, .vector-menu-tabs a, #mw-head .vector-menu-dropdown .vector-menu-heading { background-image: none; } /* Wikitables */ .wikitable { background-color: #dfdfdf; color: #282828; border: 1px solid #a2a9b1; } .wikitable > tr > th, .wikitable > * > tr > th { background-color: #aaaaaa; text-align: center; } .infobox { float: right; clear: right; width: 295px !important; } 64248e618b7ca05a7a03a068d3b922056508e221 Daisy 0 51 262 211 2023-07-31T04:36:43Z Werewire 2 added link wikitext text/x-wiki {{Infobox | bodystyle = float: right; clear: right; margin: 0 0 1em 1em; width: 290px; border: 1px solid #ff8000; border-collapse: collapse; | abovestyle = background: #ff8000; color: #000000; padding: 5px; | rowstyle1 = <!-- quote --> font-style: italic; | labelstyle = width: 120px; vertical-align: top; text-align: right; border-top: 1px solid #ff8000; padding: 5px 0 5px 10px; | datastyle = vertical-align: top; border-top: 1px solid #ff8000; padding: 5px 10px; | above = {{{name|{{PAGENAME}}}}} | image = [[Image:Castdaisy.png|frameless|200px|center|link=]] | data1 = | label2 = First Appearance: | data2 = Page 9, 2/4/22 | label3 = Status: | data3 = Alive | label4 = Highlight Color: | data4 = ff8000 | label5 = Pronouns: | data5 = Any (primarily she/it) | label6 = Nicknames: | data6 = {{{nicknames|}}} | label7 = Relationships: | data7 = | label8 = Likes: | data8 = {{{likes|}}} | label9 = Dislikes: | data9 = {{{dislikes|}}} }} '''Daisy''' is a robot that's supposed to be surveying the facility<ref>https://ecopportunityx.cfw.me/comics/67/</ref> but isn't because rubble collapsed onto her. She just follows [[Kid]] and everyone else around, doing things like brute forcing 9 digit locks for them<ref>https://ecopportunityx.cfw.me/comics/42</ref>. == Summary == == Trivia == * Daisy was named by an anonymous commenter named "el" after page 13's name<ref>https://ecopportunityx.cfw.me/comics/13</ref> and the name won by 9 votes.<ref>https://ecopportunityx.cfw.me/comics/14</ref> == Gallery == <gallery> Castrobot.png|Daisy's First cast image pg 13 panel 1.png|Being lifted up by kid </gallery> == References == <references /> [[Category:Characters]] 107a9c9226941c38f37eaa177cdf886d5c936530 Main Page 0 1 263 244 2023-07-31T20:36:15Z Werewire 2 comic update wikitext text/x-wiki __NOTOC__ == Welcome to {{SITENAME}}! == This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. It is an ongoing interactive horror comic. It stars an [[Kid|unnamed gray child]] trapped in a facility, staging their escape after waking up in the immediate aftermath of a mysterious incident. '''Latest Update:''' 31st July 2023, 3:13 AM [https://ecopportunityx.cfw.me Page 141] == For visitors of this wiki: == This wiki will contain helpful information about the characters and setting of EOX. Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]] Things that are planned to be included is: * Basic Plot summaries * Personality * Relationships * <s>Highlight colors</s> * Images from the comics * <s>All the cast images</s> minus a possible few from brian this is complete '''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''. ==== I have a problem with/suggestion for the wiki! ==== If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact: * [[User:Werewire|Me]] * Any future "mods" === Wiki Page Links === * [[:Category:Characters|Characters]] * [[:Category:Locations|Locations]] * [[:Category:Items|Items]] * [[Special:ListFiles|Uploaded Images]] * [[Special:Categories|Categories]] * [[Special:RecentChanges|Recent Changes]] * [[Special:WantedCategories|Wanted Categories]] * [[Special:ShortPages|Short Pages]] === Additional Links === * [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom * [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts 13cf5088e94b00f04be04e66b39c31418a59d358 303 263 2023-08-08T04:33:40Z Ian3080 8 change wanted categories to wanted pages wikitext text/x-wiki __NOTOC__ == Welcome to {{SITENAME}}! == This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. It is an ongoing interactive horror comic. It stars an [[Kid|unnamed gray child]] trapped in a facility, staging their escape after waking up in the immediate aftermath of a mysterious incident. '''Latest Update:''' 31st July 2023, 3:13 AM [https://ecopportunityx.cfw.me Page 141] == For visitors of this wiki: == This wiki will contain helpful information about the characters and setting of EOX. Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]] Things that are planned to be included is: * Basic Plot summaries * Personality * Relationships * <s>Highlight colors</s> * Images from the comics * <s>All the cast images</s> minus a possible few from brian this is complete '''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''. ==== I have a problem with/suggestion for the wiki! ==== If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact: * [[User:Werewire|Me]] * Any future "mods" === Wiki Page Links === * [[:Category:Characters|Characters]] * [[:Category:Locations|Locations]] * [[:Category:Items|Items]] * [[Special:ListFiles|Uploaded Images]] * [[Special:Categories|Categories]] * [[Special:RecentChanges|Recent Changes]] * [[Special:WantedPages|Wanted Pages]] * [[Special:ShortPages|Short Pages]] === Additional Links === * [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom * [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts ba197b251167cc6b492d0cff7303cc84baeed37b File:EOX Floor 4.png 6 108 264 2023-08-08T00:13:51Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 76 (2).png 6 109 265 2023-08-08T00:21:48Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 69 (4).png 6 110 266 2023-08-08T00:21:50Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 Floor 4 0 111 267 2023-08-08T01:21:12Z Ian3080 8 Create the floor 4 page wikitext text/x-wiki {{Infobox/Location page |highlight_color=FFFF00 |image=EOX_Floor_4.png |name=Floor 4 |quote=That yellow hurts your eyes. |first_appearance=Page 69 3/23/22 <ref name="EOX_69">https://ecopportunityx.cfw.me/comics/69/</ref> |introduction= The fourth floor of [[The Tower]]. It contains the [[Break Room]], [[Janitor's Closet]], and the [[Elevator]]. |summary= Above it is [[Floor 5]] and below is [[Floor 3]]. This floor contains 2 separated rooms, and the stairwell down from floor 5 positioned on the opposite (4th) wall. |trivia= -To Be Added |gallery= <gallery> File:EOX_Page_69 (4).png|First appearance of floor 4 File:EOX_Page_76 (2).png|Last appearance of floor 4 </gallery> }} 5cebd18bec1accf2559facf91e0f6e0d5e49d10c File:EOX Page 65 (9).png 6 112 268 2023-08-08T01:52:25Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 64 (4).png 6 113 269 2023-08-08T01:52:27Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 65 (1).png 6 114 270 2023-08-08T01:52:29Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 69 (3).png 6 115 271 2023-08-08T01:55:14Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Floor 5 Stairs.png 6 116 272 2023-08-08T01:57:50Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Floor 5.png 6 117 273 2023-08-08T01:57:52Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 Floor 5 0 118 274 2023-08-08T02:00:07Z Ian3080 8 Create the floor 5 page wikitext text/x-wiki {{Infobox/Location page |highlight_color=00FF00 |name=Floor 5 |image=EOX_Floor_5.png |quote=That green is really bright… |first_appearance=Page 64 3/18/22 <ref name="EOX_64">https://ecopportunityx.cfw.me/comics/64/</ref> |introduction=The fifth floor of [[The Tower]], it contains the [[Computer Room]], the [[Elevator]] and the stairwell leading both up to [[Floor 6]] and down to [[Floor 4]]. |summary=Upon entering the floor, which is only reachable through elevator due to a [[Fleshblob]] blocking the stairwell, the [[Brian|Mysterious Figure]] is seen. There is one giant fleshblob on the ceiling that unsettles [[Ashley]], as well as one occupying the large crack in the floor. The floor contains only one actual room. |trivia= * Many characters are introduced on the same floor as their highlight color, but the [[Facility AI]] in [[Brian]]'s body has a previous appearance on the [[Floor 7|Cyan Floor]] despite their colors being green and pink respectively, as well as the [[Security Robot]] color being ordinarily green (excluding the damaged [[Daisy]], who was introduced on the [[Floor 6|Orange Floor]]). *The room is not mentioned to be any darker despite the giant fleshblob covering all the ceiling lights. |gallery= <gallery> File:EOX_Page_64 (4).png|First appearance of floor 5 File:EOX_Page_65 (1).png|All the rooms File:EOX_Page_69 (3).png|Last appearance of floor 5 File:EOX_Floor_5_Stairs.png| Clear image of the stairwell </gallery> }} 5ef7803cf30dcb5d65dd8f369b95944509cbd673 275 274 2023-08-08T02:04:55Z Ian3080 8 scooping room wikitext text/x-wiki {{Infobox/Location page |highlight_color=00FF00 |name=Floor 5 |image=EOX_Floor_5.png |quote=That green is really bright… |first_appearance=Page 64 3/18/22 <ref name="EOX_64">https://ecopportunityx.cfw.me/comics/64/</ref> |introduction=The fifth floor of [[The Tower]], it contains the [[Scooping Room]], the [[Elevator]] and the stairwell leading both up to [[Floor 6]] and down to [[Floor 4]]. |summary=Upon entering the floor, which is only reachable through elevator due to a [[Fleshblob]] blocking the stairwell, the [[Brian|Mysterious Figure]] is seen. There is one giant fleshblob on the ceiling that unsettles [[Ashley]], as well as one occupying the large crack in the floor. The floor contains only one actual room. |trivia= * Many characters are introduced on the same floor as their highlight color, but the [[Facility AI]] in [[Brian]]'s body has a previous appearance on the [[Floor 7|Cyan Floor]] despite their colors being green and pink respectively, as well as the [[Security Robot]] color being ordinarily green (excluding the damaged [[Daisy]], who was introduced on the [[Floor 6|Orange Floor]]). *The room is not mentioned to be any darker despite the giant fleshblob covering all the ceiling lights. |gallery= <gallery> File:EOX_Page_64 (4).png|First appearance of floor 5 File:EOX_Page_65 (1).png|All the rooms File:EOX_Page_69 (3).png|Last appearance of floor 5 File:EOX_Floor_5_Stairs.png| Clear image of the stairwell </gallery> }} 11f24ba27211903c356662b19d9605d9308b39b0 File:EOX Page 8 (3).png 6 119 276 2023-08-08T02:32:39Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 16 (4).png 6 120 277 2023-08-08T02:32:41Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Floor 6 Stairs.png 6 121 278 2023-08-08T02:32:44Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 9 (8).png 6 122 279 2023-08-08T02:32:46Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Floor 6.png 6 123 280 2023-08-08T02:34:14Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 10 (1).png 6 124 281 2023-08-08T02:37:24Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 10 (4).png 6 125 282 2023-08-08T02:37:26Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Floor 6 Zeller Blank.png 6 126 283 2023-08-08T02:41:16Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 Floor 6 0 127 284 2023-08-08T02:43:54Z Ian3080 8 Create the floor 6 page wikitext text/x-wiki {{Infobox/Location page |highlight_color=FF8200 |name=Floor 6 |image=EOX_Floor_6.png |quote=Hey, what the heck is 'Duck, Duck, Goose'? |first_appearance=Page 8 2/3/22 <ref name="EOX_8">https://ecopportunityx.cfw.me/comics/8/</ref> |introduction=The floor below [[Floor 7]] and above [[Floor 5]]. It contains [[Your Room]] and a stairwell leading upwards. |summary=This is the first floor seen in the comic, since [[Kid]]'s room is attached to a side room of the floor's main hall. Past [[Dr.Zeller]]'s corpse is a hallway with [[Security Robots]] circling each other, as well as [[Daisy|one robot]] pinned under rubble coming from the floor above. This floor also marks the first appearance of a [[Fleshblob]] as the one blocking the stairwell leading down. |trivia=* This floor is missing a painted number on the wall |gallery= <gallery> File:EOX_Page_8 (3).png|First appearance File:EOX_Floor_6_Zeller_Blank.png|Blank version of the hall outside your room File:EOX_Page_9 (8).png|First proper appearance File:EOX_Page_10 (1).png|The rubble from floor 7 (missing floor stripe) File:EOX_Page_10 (4).png|Other half of the room File:EOX_Page_16 (4).png|Last appearance File:EOX_Floor_6_Stairs.png|Blank version of the stairwell </gallery> }} 1c8609f97f788137ade2d56a654227ea40f13274 304 284 2023-08-08T04:34:55Z Ian3080 8 fix security robot page link wikitext text/x-wiki {{Infobox/Location page |highlight_color=FF8200 |name=Floor 6 |image=EOX_Floor_6.png |quote=Hey, what the heck is 'Duck, Duck, Goose'? |first_appearance=Page 8 2/3/22 <ref name="EOX_8">https://ecopportunityx.cfw.me/comics/8/</ref> |introduction=The floor below [[Floor 7]] and above [[Floor 5]]. It contains [[Your Room]] and a stairwell leading upwards. |summary=This is the first floor seen in the comic, since [[Kid]]'s room is attached to a side room of the floor's main hall. Past [[Dr.Zeller]]'s corpse is a hallway with [[Security Robot|Security Robots]] circling each other, as well as [[Daisy|one robot]] pinned under rubble coming from the floor above. This floor also marks the first appearance of a [[Fleshblob]] as the one blocking the stairwell leading down. |trivia=* This floor is missing a painted number on the wall |gallery= <gallery> File:EOX_Page_8 (3).png|First appearance File:EOX_Floor_6_Zeller_Blank.png|Blank version of the hall outside your room File:EOX_Page_9 (8).png|First proper appearance File:EOX_Page_10 (1).png|The rubble from floor 7 (missing floor stripe) File:EOX_Page_10 (4).png|Other half of the room File:EOX_Page_16 (4).png|Last appearance File:EOX_Floor_6_Stairs.png|Blank version of the stairwell </gallery> }} 3c8863d73dd61ef152c8fcde62352ed9307ecd53 File:EOX Page 17 (1).png 6 128 285 2023-08-08T03:12:31Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 18 (1).png 6 129 286 2023-08-08T03:12:34Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 18 (2).png 6 130 287 2023-08-08T03:12:35Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 29 (2).png 6 131 288 2023-08-08T03:12:37Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 52 (3).png 6 132 289 2023-08-08T03:12:39Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Floor 7.png 6 133 290 2023-08-08T03:12:41Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 Floor 7 0 134 291 2023-08-08T03:15:34Z Ian3080 8 Create the floor 7 page wikitext text/x-wiki {{Infobox/Location page |highlight_color=00FFFF |name=Floor 7 |image=EOX_Floor_7.png |quote=For some reason, you feel like tossing a coin down the hallway. It sails through the air as expected. Weird, why did you wanna do that? |first_appearance=Page 17 2/8/22 <ref name="EOX_17">https://ecopportunityx.cfw.me/comics/17</ref> |introduction=The seventh floor of [[The Tower]] above [[Floor 6]] and below [[Floor 8]]. This floor contains the stairwell leading down, [[Zeller's Office]], and [[The Cafeteria]]. |summary=Immediately stepping out of the stairwell there is the first appearance of the [[Brian|Mysterious Figure]] into a strangely oriented room. Throwing the [[Coin]] across the room shows that the distortion doesn't affect the gravity of the room. After leaving the room on page 29<ref name="EOX_29">https://ecopportunityx.cfw.me/comics/29</ref>, the hall makes another appearance as [[Kid]] and [[Ashley]] leave [[Zeller's Office]] on page 52<ref name="EOX_52">https://ecopportunityx.cfw.me/comics/52</ref>. |trivia=* It's never mentioned what blocks the stairwell leading from floor 7 to floor 8 |gallery= <gallery> File:EOX_Page_17 (1).png|First appearance File:EOX_Page_18 (1).png|Throwing the coin File:EOX_Page_18 (2).png|Normal perspective File:EOX_Page_29 (2).png|First last appearance File:EOX_Page_52 (3).png|Last appearance of the floor </gallery> }} 90c9ce8f30996438ad07e385afac4c7fb74c78c7 File:EOX Page 48 (3).png 6 135 292 2023-08-08T04:01:16Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 49 (5).png 6 136 293 2023-08-08T04:01:18Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 64 (1).png 6 137 294 2023-08-08T04:01:20Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 29 (4).png 6 138 295 2023-08-08T04:01:21Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Floor 8.png 6 139 296 2023-08-08T04:01:25Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 36 (3).png 6 140 297 2023-08-08T04:01:27Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 36 (2).png 6 141 298 2023-08-08T04:01:30Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 36 (4).png 6 142 299 2023-08-08T04:01:32Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 Floor 8 0 143 300 2023-08-08T04:10:09Z Ian3080 8 Create the floor 8 page wikitext text/x-wiki {{Infobox/Location page |highlight_color=FF7D7D |name=Floor 8 |image=EOX_Floor_8.png |quote=You really like the pink on the walls! It’s a much softer color than all the bright red, orange, and cyan… easier on your eyes. |first_appearance=Page 29 2/13/22<ref name="EOX_29">https://ecopportunityx.cfw.me/comics/29/</ref> |introduction=The eighth floor of [[The Tower]], above [[Floor 7]] and followed by [[Floor 9]], it contains a computer terminal, a [[Ball Pit]], and access to [[Outside]]. |summary=Upon entering the floor there is a [[Sticky Note]] with the freezer password resting on the computer terminal and a door on the far side of the room with a [[Fleshblob]] covering the sign above it. Slamming on the terminal brings up the message "INTERNAL SYSTEM DOWN. CONNECT EXTERNAL DEVICE?".<ref name="EOX_30">https://ecopportunityx.cfw.me/comics/30/</ref> When the fleshblob blocking the sign over the exit door drops, [[Kid]] runs outside to see their first glimpse of the outdoors that [[Dr.Zeller]] had said he would one day show them.<ref name="EOX_35">https://ecopportunityx.cfw.me/comics/35/</ref> This floor is revisited in page 48 as Kid brings [[Ashley]] to see [[Ball Pit Beast]], which distresses them greatly. <ref name="EOX_48">https://ecopportunityx.cfw.me/comics/48/</ref> This floor is visited again in page 63 by Kid, Ashley, and jarred [[Brian]] in order to talk with them through the computer terminal on this floor.<ref name="EOX_63">https://ecopportunityx.cfw.me/comics/63/</ref> After a bit of exposition, Kid brings Brian to see the Ball Pit Beast on this floor as well (Ashley opts to stay outside). |trivia=* The pink used as this floor's highlight color is #FF7D7 and RBG 255, 125, 125, which is 51% #FF000 (Red) and 49% #FFFFFF (Pure white). The hex code of exactly 50/50 red and white is #FF8080 and RGB 255, 128, 128. * On page 30 Kid laments the lack of Space Pinball with a "Darn", before spouting another "Darn" at the unhelpful fleshblobs, and a final "Darn" that the ceiling blob is unreachable. They declare this a "Double Darn" despite the fact this is a triple darn.<ref name="EOX_30"></ref> |gallery= <gallery> File:EOX_Page_29 (4).png|First appearance File:EOX_Page_36 (2).png|Outside File:EOX_Page_36 (3).png|Gaining some perspective File:EOX_Page_36 (4).png File:EOX_Page_48 (3).png|Ashley's first impressions of the floor File:EOX_Page_49 (5).png|Ashley in agony after meeting BPB (no stripe on wall) File:EOX_Page_64 (1).png|Final appearance </gallery> }} 381342790f4435c9c8d57cb6ebef3227a1d2e98e 301 300 2023-08-08T04:11:19Z Ian3080 8 Fix broken link to Dr. Zeller page wikitext text/x-wiki {{Infobox/Location page |highlight_color=FF7D7D |name=Floor 8 |image=EOX_Floor_8.png |quote=You really like the pink on the walls! It’s a much softer color than all the bright red, orange, and cyan… easier on your eyes. |first_appearance=Page 29 2/13/22<ref name="EOX_29">https://ecopportunityx.cfw.me/comics/29/</ref> |introduction=The eighth floor of [[The Tower]], above [[Floor 7]] and followed by [[Floor 9]], it contains a computer terminal, a [[Ball Pit]], and access to [[Outside]]. |summary=Upon entering the floor there is a [[Sticky Note]] with the freezer password resting on the computer terminal and a door on the far side of the room with a [[Fleshblob]] covering the sign above it. Slamming on the terminal brings up the message "INTERNAL SYSTEM DOWN. CONNECT EXTERNAL DEVICE?".<ref name="EOX_30">https://ecopportunityx.cfw.me/comics/30/</ref> When the fleshblob blocking the sign over the exit door drops, [[Kid]] runs outside to see their first glimpse of the outdoors that [[Dr. Zeller]] had said he would one day show them.<ref name="EOX_35">https://ecopportunityx.cfw.me/comics/35/</ref> This floor is revisited in page 48 as Kid brings [[Ashley]] to see [[Ball Pit Beast]], which distresses them greatly. <ref name="EOX_48">https://ecopportunityx.cfw.me/comics/48/</ref> This floor is visited again in page 63 by Kid, Ashley, and jarred [[Brian]] in order to talk with them through the computer terminal on this floor.<ref name="EOX_63">https://ecopportunityx.cfw.me/comics/63/</ref> After a bit of exposition, Kid brings Brian to see the Ball Pit Beast on this floor as well (Ashley opts to stay outside). |trivia=* The pink used as this floor's highlight color is #FF7D7 and RBG 255, 125, 125, which is 51% #FF000 (Red) and 49% #FFFFFF (Pure white). The hex code of exactly 50/50 red and white is #FF8080 and RGB 255, 128, 128. * On page 30 Kid laments the lack of Space Pinball with a "Darn", before spouting another "Darn" at the unhelpful fleshblobs, and a final "Darn" that the ceiling blob is unreachable. They declare this a "Double Darn" despite the fact this is a triple darn.<ref name="EOX_30"></ref> |gallery= <gallery> File:EOX_Page_29 (4).png|First appearance File:EOX_Page_36 (2).png|Outside File:EOX_Page_36 (3).png|Gaining some perspective File:EOX_Page_36 (4).png File:EOX_Page_48 (3).png|Ashley's first impressions of the floor File:EOX_Page_49 (5).png|Ashley in agony after meeting BPB (no stripe on wall) File:EOX_Page_64 (1).png|Final appearance </gallery> }} 0a111cedbde4b8b9c85a36950563feb0ed33dfe5 302 301 2023-08-08T04:26:20Z Ian3080 8 fixed hex code in trivia wikitext text/x-wiki {{Infobox/Location page |highlight_color=FF7D7D |name=Floor 8 |image=EOX_Floor_8.png |quote=You really like the pink on the walls! It’s a much softer color than all the bright red, orange, and cyan… easier on your eyes. |first_appearance=Page 29 2/13/22<ref name="EOX_29">https://ecopportunityx.cfw.me/comics/29/</ref> |introduction=The eighth floor of [[The Tower]], above [[Floor 7]] and followed by [[Floor 9]], it contains a computer terminal, a [[Ball Pit]], and access to [[Outside]]. |summary=Upon entering the floor there is a [[Sticky Note]] with the freezer password resting on the computer terminal and a door on the far side of the room with a [[Fleshblob]] covering the sign above it. Slamming on the terminal brings up the message "INTERNAL SYSTEM DOWN. CONNECT EXTERNAL DEVICE?".<ref name="EOX_30">https://ecopportunityx.cfw.me/comics/30/</ref> When the fleshblob blocking the sign over the exit door drops, [[Kid]] runs outside to see their first glimpse of the outdoors that [[Dr. Zeller]] had said he would one day show them.<ref name="EOX_35">https://ecopportunityx.cfw.me/comics/35/</ref> This floor is revisited in page 48 as Kid brings [[Ashley]] to see [[Ball Pit Beast]], which distresses them greatly. <ref name="EOX_48">https://ecopportunityx.cfw.me/comics/48/</ref> This floor is visited again in page 63 by Kid, Ashley, and jarred [[Brian]] in order to talk with them through the computer terminal on this floor.<ref name="EOX_63">https://ecopportunityx.cfw.me/comics/63/</ref> After a bit of exposition, Kid brings Brian to see the Ball Pit Beast on this floor as well (Ashley opts to stay outside). |trivia=* The pink used as this floor's highlight color is #FF7D7D and RBG 255, 125, 125, which is 51% #FF000 (Red) and 49% #FFFFFF (Pure white). The hex code of exactly 50/50 red and white is #FF8080 and RGB 255, 128, 128. * On page 30 Kid laments the lack of Space Pinball with a "Darn", before spouting another "Darn" at the unhelpful fleshblobs, and a final "Darn" that the ceiling blob is unreachable. They declare this a "Double Darn" despite the fact this is a triple darn.<ref name="EOX_30"></ref> |gallery= <gallery> File:EOX_Page_29 (4).png|First appearance File:EOX_Page_36 (2).png|Outside File:EOX_Page_36 (3).png|Gaining some perspective File:EOX_Page_36 (4).png File:EOX_Page_48 (3).png|Ashley's first impressions of the floor File:EOX_Page_49 (5).png|Ashley in agony after meeting BPB (no stripe on wall) File:EOX_Page_64 (1).png|Final appearance </gallery> }} 368e4736926c6b03191fbe2028e738eba2f5898c File:EOX Page 36 (4).png 6 142 306 299 2023-08-08T04:44:21Z Ian3080 8 added image description wikitext text/x-wiki Widest shot of the view outside [[The Tower]] from [[Floor 9]] 67c3688829205b77f11e905c14075ed35620926f File:EOX Floor 9.png 6 144 307 2023-08-22T23:49:05Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 52 (5).png 6 145 308 2023-08-22T23:49:24Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Lab Exterior.png 6 146 309 2023-08-22T23:49:30Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Outside.png 6 147 310 2023-08-22T23:49:32Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 37 (5).png 6 148 311 2023-08-22T23:49:35Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 38 (1).png 6 149 312 2023-08-22T23:49:38Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 38 (3).png 6 150 313 2023-08-22T23:49:41Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 47 (2).png 6 151 314 2023-08-22T23:49:44Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 39 (5).png 6 152 315 2023-08-22T23:57:22Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 38 (6).png 6 153 316 2023-08-22T23:57:24Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 58 (4).png 6 154 317 2023-08-22T23:57:26Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 58 (5).png 6 155 318 2023-08-22T23:57:29Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 47 (6).png 6 156 319 2023-08-22T23:57:32Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 Floor 8 0 143 320 302 2023-08-23T00:06:09Z Ian3080 8 Add minor trivia wikitext text/x-wiki {{Infobox/Location page |highlight_color=FF7D7D |name=Floor 8 |image=EOX_Floor_8.png |quote=You really like the pink on the walls! It’s a much softer color than all the bright red, orange, and cyan… easier on your eyes. |first_appearance=Page 29 2/13/22<ref name="EOX_29">https://ecopportunityx.cfw.me/comics/29/</ref> |introduction=The eighth floor of [[The Tower]], above [[Floor 7]] and followed by [[Floor 9]], it contains a computer terminal, a [[Ball Pit]], and access to [[Outside]]. |summary=Upon entering the floor there is a [[Sticky Note]] with the freezer password resting on the computer terminal and a door on the far side of the room with a [[Fleshblob]] covering the sign above it. Slamming on the terminal brings up the message "INTERNAL SYSTEM DOWN. CONNECT EXTERNAL DEVICE?".<ref name="EOX_30">https://ecopportunityx.cfw.me/comics/30/</ref> When the fleshblob blocking the sign over the exit door drops, [[Kid]] runs outside to see their first glimpse of the outdoors that [[Dr. Zeller]] had said he would one day show them.<ref name="EOX_35">https://ecopportunityx.cfw.me/comics/35/</ref> This floor is revisited in page 48 as Kid brings [[Ashley]] to see [[Ball Pit Beast]], which distresses them greatly. <ref name="EOX_48">https://ecopportunityx.cfw.me/comics/48/</ref> This floor is visited again in page 63 by Kid, Ashley, and jarred [[Brian]] in order to talk with them through the computer terminal on this floor.<ref name="EOX_63">https://ecopportunityx.cfw.me/comics/63/</ref> After a bit of exposition, Kid brings Brian to see the Ball Pit Beast on this floor as well (Ashley opts to stay outside). |trivia=* The pink used as this floor's highlight color is #FF7D7D and RBG 255, 125, 125, which is 51% #FF000 (Red) and 49% #FFFFFF (Pure white). The hex code of exactly 50/50 red and white is #FF8080 and RGB 255, 128, 128. * On page 30 Kid laments the lack of Space Pinball with a "Darn", before spouting another "Darn" at the unhelpful fleshblobs, and a final "Darn" that the ceiling blob is unreachable. They declare this a "Double Darn" despite the fact this is a triple darn.<ref name="EOX_30"></ref> * Like the door leading into [[The Lab]], the door leading to the ball pit has paint that is disconnected from the stripes around it. |gallery= <gallery> File:EOX_Page_29 (4).png|First appearance File:EOX_Page_36 (2).png|Outside File:EOX_Page_36 (3).png|Gaining some perspective File:EOX_Page_36 (4).png File:EOX_Page_48 (3).png|Ashley's first impressions of the floor File:EOX_Page_49 (5).png|Ashley in agony after meeting BPB (no stripe on wall) File:EOX_Page_64 (1).png|Final appearance </gallery> }} 9934568f81b9a681a7e8bed1316fe8c3e1b0ce6c Floor 9 0 157 321 2023-08-23T00:12:48Z Ian3080 8 Create the floor 9 page wikitext text/x-wiki {{Infobox/Location page |highlight_color=82007D |name=Floor 9 |image=EOX_Floor_9.png |quote=Purple this time, huh? |first_appearance=Page 37 2/20/22<ref name="EOX_37">https://ecopportunityx.cfw.me/comics/37/</ref> |introduction=The ninth floor of the tower, above [[Floor 8]] and below the final floor, [[Floor 10]], it contains three doors. One door leads [[Outside]], one leads to a staircase to floor 10, and the last door leads to [[The Lab]]. |summary= [[Kid]] first enters this room from the outside access, where the staircase is blocked off by a [[Fleshblob]], leading them to the lab. This is the floor where [[Ashley]] first appears, as well as [[The Armbeast]]. Oh, and the <i>Keep it Real!</i> [[poster]] is here too. The room just outside the lab, where the Armbeast resides, is a large open space with a 3 story staircase leading up to the lab and Ashley. |trivia= * There are 16 stairs leading up to the lab from the purple floor, and 7 stairs leading to floor 10 from floor 9.<ref name="EITS_5">https://eyeinthesky.cfw.me/comics/5</ref> * Like the door leading to the [[Ball Pit]], the door leading to the lab has paint that is disconnected from the stripes around it. * Despite the fact there is a hole in the wall, when Kid brings [[The Elevator]] to this floor it is not visibly protruding out of the building in any way. |gallery= <gallery> File:EOX_Page_37 (5).png| First appearance of floor 9 File:EOX_Page_38 (1).png| Keep it real. File:EOX_Page_38 (3).png|View of outside from floor 9 File:EOX_Page_38 (6).png|View outside of lab (floor) File:EOX_Page_39 (5).png|View outside of lab (door) File:EOX_Page_47 (6).png|Last appearance of lab exterior (floor) File:EOX_Page_52 (5).png|Stairs leading to floor 10 File:EOX_Page_58 (4).png|Last full view of floor 9 File:EOX_Page_58 (5).png|Last appearance of floor 9 File:EOX_Lab_Exterior.png|Full view of the outside of the lab File:EOX_Outside.png|Clear view of floor 9 from the outside </gallery> }} 2dcb1cc9b001b51b645cfc7b9ee1c01a580a96bf 336 321 2023-08-29T23:57:21Z Ian3080 8 Fix page links wikitext text/x-wiki {{Infobox/Location page |highlight_color=82007D |name=Floor 9 |image=EOX_Floor_9.png |quote=Purple this time, huh? |first_appearance=Page 37 2/20/22<ref name="EOX_37">https://ecopportunityx.cfw.me/comics/37/</ref> |introduction=The ninth floor of [[The Tower]], above [[Floor 8]] and below the final floor, [[Floor 10]], it contains three doors. One door leads [[Outside]], one leads to a staircase to floor 10, and the last door leads to [[The Lab]]. |summary= [[Kid]] first enters this room from the outside access, where the staircase is blocked off by a [[Fleshblob]], leading them to the lab. This is the floor where [[Ashley]] first appears, as well as the [[Armbeast]]. Oh, and the <i>Keep it Real!</i> [[poster]] is here too. The room just outside the lab, where the Armbeast resides, is a large open space with a 3 story staircase leading up to the lab and Ashley. |trivia= * There are 16 stairs leading up to the lab from the purple floor, and 7 stairs leading to floor 10 from floor 9.<ref name="EITS_5">https://eyeinthesky.cfw.me/comics/5</ref> * Like the door leading to the [[Ball Pit]], the door leading to the lab has paint that is disconnected from the stripes around it. * Despite the fact there is a hole in the wall, when Kid brings the [[Elevator]] to this floor it is not visibly protruding out of the building in any way. |gallery= <gallery> File:EOX_Page_37 (5).png| First appearance of floor 9 File:EOX_Page_38 (1).png| Keep it real. File:EOX_Page_38 (3).png|View of outside from floor 9 File:EOX_Page_38 (6).png|View outside of lab (floor) File:EOX_Page_39 (5).png|View outside of lab (door) File:EOX_Page_47 (6).png|Last appearance of lab exterior (floor) File:EOX_Page_52 (5).png|Stairs leading to floor 10 File:EOX_Page_58 (4).png|Last full view of floor 9 File:EOX_Page_58 (5).png|Last appearance of floor 9 File:EOX_Lab_Exterior.png|Full view of the outside of the lab File:EOX_Outside.png|Clear view of floor 9 from the outside </gallery> }} c88fe3e37ea6f642ce68cbd3c1dad93ee383e3eb File:EOX Floor 10.png 6 158 322 2023-08-29T23:07:57Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 52 (6).png 6 159 323 2023-08-29T23:07:59Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 53 (2).png 6 160 324 2023-08-29T23:08:02Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 53 (4).png 6 161 325 2023-08-29T23:08:04Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 57 (2).png 6 162 326 2023-08-29T23:08:05Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 93 (4).png 6 163 327 2023-08-29T23:11:49Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 95 (1).png 6 164 328 2023-08-29T23:11:51Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 Floor 10 0 165 329 2023-08-29T23:24:06Z Ian3080 8 Create the floor 10 page wikitext text/x-wiki {{Infobox/Location page |highlight_color=FF0000 |name=Floor 10 |image=EOX_Floor_10.png |quote=Looking at the opposite wall, you can’t help but notice how well the colors of the blood and the red paint blend together. Why, if it wasn’t for the texture difference (which you can see quite clearly), there’d be no way to distinguish the two materials! Good thing you can see the world as it is, and not in some strange, flattened manner in which you would (theoretically) only see basic colors and shapes. |first_appearance=Page 52 3/6/22 <ref name="EOX_52">https://ecopportunityx.cfw.me/comics/52/</ref> |introduction= The tenth floor of the tower, above [[Floor 9]] and below [[The Roof]], this floor contains a stairway leading down, [[Bass' Office]] and the [[Elevator]]. |summary= [[Kid]] comes to this floor only with [[Daisy]] despite just meeting [[Ashley]] due to a [[Fleshblob]] occupying the stairwell. There is a keypad on the wall that Kid and Daisy immediately mash buttons on, producing nothing but harsh beeps. After leaving Bass' office with [[Brian]], they use the keypad again to interact with them. They unlock the elevator (since the flesh blob grew to cover the stairwell) allowing Kid to access Floors [[Floor 5|5]] through 10 and the roof. This floor is visited again on page 93, after given the task by [[HP]] to kill [[Stephen Bass|Bass]]. In accomplishing this, the floor is left with the door to Bass' office broken and with extra blood and brains left on the floor. |trivia= * There are bloody hand-prints on Bass' door and streaks leading away to a large splatter under a door implying someone was dragged away, but the door is an unlocked pull door and described as "surprisingly light".<ref name="EOX_53">https://ecopportunityx.cfw.me/comics/53/</ref> * The flesh blob blocking the stairs and the flesh blob in the [[Janitor's Closet]] are the only depicted blobs that grow in size visually. |gallery= <gallery> File:EOX_Page_52 (6).png | First appearance File:EOX_Page_53 (2).png | 4th Wall File:EOX_Page_53 (4).png | Appearance of Bass' office from the outside File:EOX_Page_57 (2).png | Changed flesh blob over staircase File:EOX_Page_93 (4).png | Before the floor is altered File:EOX_Page_95 (1).png | Last appearance </gallery> }} 2553cc849236c9b15e596b72db6aba22cf53e3d5 337 329 2023-08-29T23:58:47Z Ian3080 8 Fix page links wikitext text/x-wiki {{Infobox/Location page |highlight_color=FF0000 |name=Floor 10 |image=EOX_Floor_10.png |quote=Looking at the opposite wall, you can’t help but notice how well the colors of the blood and the red paint blend together. Why, if it wasn’t for the texture difference (which you can see quite clearly), there’d be no way to distinguish the two materials! Good thing you can see the world as it is, and not in some strange, flattened manner in which you would (theoretically) only see basic colors and shapes. |first_appearance=Page 52 3/6/22 <ref name="EOX_52">https://ecopportunityx.cfw.me/comics/52/</ref> |introduction= The tenth floor of the tower, above [[Floor 9]] and below [[The Roof]], this floor contains a stairway leading down, [[Bass' Office]] and the [[Elevator]]. |summary= [[Kid]] comes to this floor only with [[Daisy]] despite just meeting [[Ashley]] due to a [[Fleshblob]] occupying the stairwell. There is a keypad on the wall that Kid and Daisy immediately mash buttons on, producing nothing but harsh beeps. After leaving Bass' office with [[Brian]], they use the keypad again to interact with them. They unlock the elevator (since the flesh blob grew to cover the stairwell) allowing Kid to access Floors [[Floor 5|5]] through 10 and the roof. This floor is visited again on page 93, after given the task by [[Higher Power (HP)|HP]] to kill [[Stephen Bass|Bass]]. In accomplishing this, the floor is left with the door to Bass' office broken and with extra blood and brains left on the floor. |trivia= * There are bloody hand-prints on Bass' door and streaks leading away to a large splatter under a door implying someone was dragged away, but the door is an unlocked pull door and described as "surprisingly light".<ref name="EOX_53">https://ecopportunityx.cfw.me/comics/53/</ref> * The flesh blob blocking the stairs and the flesh blob in the [[Janitor's Closet]] are the only depicted blobs that grow in size visually. |gallery= <gallery> File:EOX_Page_52 (6).png | First appearance File:EOX_Page_53 (2).png | 4th Wall File:EOX_Page_53 (4).png | Appearance of Bass' office from the outside File:EOX_Page_57 (2).png | Changed flesh blob over staircase File:EOX_Page_93 (4).png | Before the floor is altered File:EOX_Page_95 (1).png | Last appearance </gallery> }} f241d42e3eb7a92b51c4314510c90d5700864151 File:EOX Page 61 (6).png 6 166 330 2023-08-29T23:43:41Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 60 (2).png 6 167 331 2023-08-29T23:43:42Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 60 (3).png 6 168 332 2023-08-29T23:43:44Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 59 (4).png 6 169 333 2023-08-29T23:43:47Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Roof.png 6 170 334 2023-08-29T23:43:48Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 The Roof 0 171 335 2023-08-29T23:47:23Z Ian3080 8 Create the roof page wikitext text/x-wiki {{Infobox/Location page |highlight_color=555555 |name=The Roof |image=EOX_Roof.png |quote=You ask them what they think of the outside. 'What I think? …I don’t like it out here. Air is smoggy, there’s no safety rails up here, the sky is always overcast, and… it’s weirdly still. No wind. So quiet, too. Not even in a peaceful way, it’s just unsettling. Guess that happens when you’re miles from civilization.' |first_appearance=Page 59 3/13/22 <ref name="EOX_59">https://ecopportunityx.cfw.me/comics/59/</ref> |introduction=This is the final floor of [[The Tower]], above [[Floor 10]] and accessible only via the [[Elevator]]. It contains no guard rails, only the elevator and a [[Strange Statue]]. |summary=[[Brian]] gets left in the elevator (out of fear of dropping them) as [[Kid]], [[Ashley]], and [[Daisy]] walk out. Kid places the [[Orb]] into the statue, revealing the [[Golden Dancing Figure]] inside. The view from the roof shows the [[Specks]] in the distance, as well as the rest of [[The Facility]]. |trivia= * Ashley admits to never having been on the roof, so the strange statue may or may not have existed before the incident. <ref name="EOX_59"></ref> |gallery= <gallery> File:EOX_Page_59 (4).png | First appearance File:EOX_Page_60 (2).png | View of the facility File:EOX_Page_60 (3).png | Other view File:EOX_Page_61 (6).png | Last appearance </gallery> }} 80530e186adeddf92a870db255a1426dce72fb7b Floor 5 0 118 338 275 2023-08-29T23:59:56Z Ian3080 8 Fix page links and edit image captions wikitext text/x-wiki {{Infobox/Location page |highlight_color=00FF00 |name=Floor 5 |image=EOX_Floor_5.png |quote=That green is really bright… |first_appearance=Page 64 3/18/22 <ref name="EOX_64">https://ecopportunityx.cfw.me/comics/64/</ref> |introduction=The fifth floor of [[The Tower]], it contains the [[Scooping Room]], the [[Elevator]] and the stairwell leading both up to [[Floor 6]] and down to [[Floor 4]]. |summary=Upon entering the floor, which is only reachable through elevator due to a [[Fleshblob]] blocking the stairwell, the [[Brian|Mysterious Figure]] is seen. There is one giant fleshblob on the ceiling that unsettles [[Ashley]], as well as one occupying the large crack in the floor. The floor contains only one actual room. |trivia= * Many characters are introduced on the same floor as their highlight color, but [[The Facility's AI]] in [[Brian]]'s body has a previous appearance on the [[Floor 7|Cyan Floor]] despite their colors being green and pink respectively, as well as the [[Security Robot]] color being ordinarily green (excluding the damaged [[Daisy]], who was introduced on the [[Floor 6|Orange Floor]]). *The room is not mentioned to be any darker despite the giant fleshblob covering all the ceiling lights. |gallery= <gallery> File:EOX_Page_64 (4).png|First appearance File:EOX_Page_65 (1).png|All the rooms File:EOX_Page_69 (3).png|Last appearance File:EOX_Floor_5_Stairs.png| Clear image of the stairwell </gallery> }} e8da50f88b1bca7937d3a0b20aff3f98c900df30 Floor 6 0 127 339 304 2023-08-30T00:00:34Z Ian3080 8 Fix broken link to Dr. Zeller page wikitext text/x-wiki {{Infobox/Location page |highlight_color=FF8200 |name=Floor 6 |image=EOX_Floor_6.png |quote=Hey, what the heck is 'Duck, Duck, Goose'? |first_appearance=Page 8 2/3/22 <ref name="EOX_8">https://ecopportunityx.cfw.me/comics/8/</ref> |introduction=The floor below [[Floor 7]] and above [[Floor 5]]. It contains [[Your Room]] and a stairwell leading upwards. |summary=This is the first floor seen in the comic, since [[Kid]]'s room is attached to a side room of the floor's main hall. Past [[Dr. Zeller]]'s corpse is a hallway with [[Security Robot|Security Robots]] circling each other, as well as [[Daisy|one robot]] pinned under rubble coming from the floor above. This floor also marks the first appearance of a [[Fleshblob]] as the one blocking the stairwell leading down. |trivia=* This floor is missing a painted number on the wall |gallery= <gallery> File:EOX_Page_8 (3).png|First appearance File:EOX_Floor_6_Zeller_Blank.png|Blank version of the hall outside your room File:EOX_Page_9 (8).png|First proper appearance File:EOX_Page_10 (1).png|The rubble from floor 7 (missing floor stripe) File:EOX_Page_10 (4).png|Other half of the room File:EOX_Page_16 (4).png|Last appearance File:EOX_Floor_6_Stairs.png|Blank version of the stairwell </gallery> }} 5cb381d6fa9b0c426105e1bba354f24d6e4771db Floor 1 0 96 340 253 2023-09-05T23:26:01Z Ian3080 8 Fixed basement link and quotation marks in the floor quote wikitext text/x-wiki {{Infobox/Location page |highlight_color=000000 |quote=As Chantal and Brian’s conversation continues, you find yourself tuning out. All you can do is stare up at the pair of double doors with that big red sign that says 'EXIT' above them. You look down at Daisy, then up at the doors. You can just walk out. And leave. |first_appearance=Page 82 4/5/22 <ref name ="EOX_82">https://ecopportunityx.cfw.me/comics/82/</ref> |introduction=The first floor is the ground level of [[the Tower]]. It contains a single room. |summary=Above it is the [[Floor 2|second floor]], and beneath is [[The Basement]]. The first floor is barebones: it consists of the [[Reception|receptionist's office]] which is attached to the exit, the stairwell leading down from the second floor, and the [[Elevator]]. |trivia=The first floor is the one at street level, and not the first floor above the ground, confirming that EcopportunityX does not take place in the British Isles because of the discrepancies between American and British English.<ref name="Brit">https://en.wikipedia.org/wiki/British_English</ref> |image=EOX_Floor_1.png |gallery= <gallery> File:EOX_Page_82.png|First appearance File:EOX_Page_88.png|Connection from elevator to basement File:EOX_Page_98.png|Last appearance </gallery> |name=Floor 1}} 3bd9fe932877b33f74a6120883f923c7a4c60910 341 340 2023-09-05T23:35:49Z Ian3080 8 Expanded summary section wikitext text/x-wiki {{Infobox/Location page |highlight_color=000000 |quote=As Chantal and Brian’s conversation continues, you find yourself tuning out. All you can do is stare up at the pair of double doors with that big red sign that says 'EXIT' above them. You look down at Daisy, then up at the doors. You can just walk out. And leave. |first_appearance=Page 82 4/5/22 <ref name ="EOX_82">https://ecopportunityx.cfw.me/comics/82/</ref> |introduction=The first floor is the ground level of [[the Tower]]. It is above [[The Basement]] and below [[Floor 2]]. |summary= This floor is a single room attached to the exit, the stairwell leading down from the second floor, and the [[Elevator]]. The only thing of note on this floor is the receptionist's desk, and a large [[Fleshblob]] reaching from the ceiling to the floor. Upon first attempts to exit, [[Kid]] disregards all [[Suggestions]] and opens the exit doors. They are met with a mirror image of themself perfectly pushing back their attempts to leave. This was an act from [[Higher Power (HP)]] to prevent the party from leaving before closing the [[Gateway]]. This is also the first real appearance of [[Brian]]'s body, though still inhabited by [[The Facility's AI]]. |trivia=The first floor is the one at street level, and not the first floor above the ground, confirming that EcopportunityX does not take place in the British Isles because of the discrepancies between American and British English.<ref name="Brit">https://en.wikipedia.org/wiki/British_English</ref> |image=EOX_Floor_1.png |gallery= <gallery> File:EOX_Page_82.png|First appearance File:EOX_Page_88.png|Connection from elevator to basement File:EOX_Page_98.png|Last appearance </gallery> |name=Floor 1}} 93236685cf02a43aae08f466a835a08b2bb1b8e9 342 341 2023-09-05T23:41:59Z Ian3080 8 Fix gateway redirect wikitext text/x-wiki {{Infobox/Location page |highlight_color=000000 |quote=As Chantal and Brian’s conversation continues, you find yourself tuning out. All you can do is stare up at the pair of double doors with that big red sign that says 'EXIT' above them. You look down at Daisy, then up at the doors. You can just walk out. And leave. |first_appearance=Page 82 4/5/22 <ref name ="EOX_82">https://ecopportunityx.cfw.me/comics/82/</ref> |introduction=The first floor is the ground level of [[the Tower]]. It is above [[The Basement]] and below [[Floor 2]]. |summary= This floor is a single room attached to the exit, the stairwell leading down from the second floor, and the [[Elevator]]. The only thing of note on this floor is the receptionist's desk, and a large [[Fleshblob]] reaching from the ceiling to the floor. Upon first attempts to exit, [[Kid]] disregards all [[Suggestions]] and opens the exit doors. They are met with a mirror image of themself perfectly pushing back their attempts to leave. This was an act from [[Higher Power (HP)]] to prevent the party from leaving before closing the [[Stephen Bass|Gateway]]. This is also the first real appearance of [[Brian]]'s body, though still inhabited by [[The Facility's AI]]. |trivia=The first floor is the one at street level, and not the first floor above the ground, confirming that EcopportunityX does not take place in the British Isles because of the discrepancies between American and British English.<ref name="Brit">https://en.wikipedia.org/wiki/British_English</ref> |image=EOX_Floor_1.png |gallery= <gallery> File:EOX_Page_82.png|First appearance File:EOX_Page_88.png|Connection from elevator to basement File:EOX_Page_98.png|Last appearance </gallery> |name=Floor 1}} 8e52607208acf69e90ab1ff8519943f2fc8017f0 345 342 2023-09-05T23:46:08Z Ian3080 8 Add some images wikitext text/x-wiki {{Infobox/Location page |highlight_color=000000 |quote=As Chantal and Brian’s conversation continues, you find yourself tuning out. All you can do is stare up at the pair of double doors with that big red sign that says 'EXIT' above them. You look down at Daisy, then up at the doors. You can just walk out. And leave. |first_appearance=Page 82 4/5/22 <ref name ="EOX_82">https://ecopportunityx.cfw.me/comics/82/</ref> |introduction=The first floor is the ground level of [[the Tower]]. It is above [[The Basement]] and below [[Floor 2]]. |summary= This floor is a single room attached to the exit, the stairwell leading down from the second floor, and the [[Elevator]]. The only thing of note on this floor is the receptionist's desk, and a large [[Fleshblob]] reaching from the ceiling to the floor. Upon first attempts to exit, [[Kid]] disregards all [[Suggestions]] and opens the exit doors. They are met with a mirror image of themself perfectly pushing back their attempts to leave. This was an act from [[Higher Power (HP)]] to prevent the party from leaving before closing the [[Stephen Bass|Gateway]]. This is also the first real appearance of [[Brian]]'s body, though still inhabited by [[The Facility's AI]]. |trivia=The first floor is the one at street level, and not the first floor above the ground, confirming that EcopportunityX does not take place in the British Isles because of the discrepancies between American and British English.<ref name="Brit">https://en.wikipedia.org/wiki/British_English</ref> |image=EOX_Floor_1.png |gallery= <gallery> File:EOX_Page_82.png|First appearance File:EOX_Page_82 (4).png | View of exit doors File:EOX_Page_83 (2).png | Kid's first attempts to leave File:EOX_Page_88.png|Connection from elevator to basement File:EOX_Page_98.png|Last appearance </gallery> |name=Floor 1}} 6818808bb9016a400dd40e441de23dbc554c78b2 346 345 2023-09-06T00:30:57Z Ian3080 8 wikitext text/x-wiki {{Infobox/Location page |highlight_color=000000 |quote=As Chantal and Brian’s conversation continues, you find yourself tuning out. All you can do is stare up at the pair of double doors with that big red sign that says 'EXIT' above them. You look down at Daisy, then up at the doors. You can just walk out. And leave. |first_appearance=Page 82 4/5/22 <ref name ="EOX_82">https://ecopportunityx.cfw.me/comics/82/</ref> |introduction=The first floor is the ground level of [[the Tower]]. It is above [[The Basement]] and below [[Floor 2]]. |summary= This floor is a single room attached to the exit, the stairwell leading down from the second floor, and the [[Elevator]]. The only thing of note on this floor is the receptionist's desk, and a large [[Fleshblob]] reaching from the ceiling to the floor. Upon first attempts to exit, [[Kid]] disregards all [[Comments]] and opens the exit doors. They are met with a mirror image of themself perfectly pushing back their attempts to leave. This was an act from [[Higher Power (HP)]] to prevent the party from leaving before closing the [[Stephen Bass|Gateway]]. This is also the first real appearance of [[Brian]]'s body, though still inhabited by [[The Facility's AI]]. |trivia=The first floor is the one at street level, and not the first floor above the ground, confirming that EcopportunityX does not take place in the British Isles because of the discrepancies between American and British English.<ref name="Brit">https://en.wikipedia.org/wiki/British_English</ref> |image=EOX_Floor_1.png |gallery= <gallery> File:EOX_Page_82.png|First appearance File:EOX_Page_82 (4).png | View of exit doors File:EOX_Page_83 (2).png | Kid's first attempts to leave File:EOX_Page_88.png|Connection from elevator to basement File:EOX_Page_98.png|Last appearance </gallery> |name=Floor 1}} a2c0bc9de63c2ac9b2a0b2c40b7fce55a1145e62 347 346 2023-09-06T00:32:37Z Ian3080 8 fix trivia format wikitext text/x-wiki {{Infobox/Location page |highlight_color=000000 |quote=As Chantal and Brian’s conversation continues, you find yourself tuning out. All you can do is stare up at the pair of double doors with that big red sign that says 'EXIT' above them. You look down at Daisy, then up at the doors. You can just walk out. And leave. |first_appearance=Page 82 4/5/22 <ref name ="EOX_82">https://ecopportunityx.cfw.me/comics/82/</ref> |introduction=The first floor is the ground level of [[the Tower]]. It is above [[The Basement]] and below [[Floor 2]]. |summary= This floor is a single room attached to the exit, the stairwell leading down from the second floor, and the [[Elevator]]. The only thing of note on this floor is the receptionist's desk, and a large [[Fleshblob]] reaching from the ceiling to the floor. Upon first attempts to exit, [[Kid]] disregards all [[Comments]] and opens the exit doors. They are met with a mirror image of themself perfectly pushing back their attempts to leave. This was an act from [[Higher Power (HP)]] to prevent the party from leaving before closing the [[Stephen Bass|Gateway]]. This is also the first real appearance of [[Brian]]'s body, though still inhabited by [[The Facility's AI]]. |trivia= * The first floor is the one at street level, and not the first floor above ground as the terminology is used in the British Isles.<ref name="Brit">https://en.wikipedia.org/wiki/British_English</ref> |image=EOX_Floor_1.png |gallery= <gallery> File:EOX_Page_82.png|First appearance File:EOX_Page_82 (4).png | View of exit doors File:EOX_Page_83 (2).png | Kid's first attempts to leave File:EOX_Page_88.png|Connection from elevator to basement File:EOX_Page_98.png|Last appearance </gallery> |name=Floor 1}} 9ff53f1167b1b8381cc6d3965b5815868af8fc9e File:EOX Page 82 (4).png 6 172 343 2023-09-05T23:45:16Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 File:EOX Page 83 (2).png 6 173 344 2023-09-05T23:45:19Z Ian3080 8 File uploaded with MsUpload wikitext text/x-wiki File uploaded with MsUpload a655f04485ff507c02499d137d22a0d3e0ea32c2 The Basement 0 174 348 2023-09-06T01:12:05Z Ian3080 8 Create the basement page wikitext text/x-wiki {{Infobox/Location page |highlight_color=FFFFFF |name=The Basement |image=[[EOX_Basement.png]] |quote=Kid, you sonofabitch! you were the basement the whole time!! |first_appearance=Page 87 4/10/22<ref name="EOX_87">https://ecopportunityx.cfw.me/comics/87/</ref> |introduction= The basement is the lowest floor of [[The Tower]], below [[Floor 1]]. It consists of 3 rooms that lead into each other: the stairwell down from the [[Elevator]] that leads to a large hallway full of water and [[Fleshblob]]s, an open expanse connected to the huge door, and the large basement lab. |summary= From floor 5, the elevator ride down is described as being very long. When met with the stairwell, [[Brian]] requests assistance from [[Ashley]] and [[Chantal]]. When kid reaches the floor, discovering the haze they saw was water that reaches their waist, they give [[Daisy]] a ride on their head while Ashley and Chantal comment on having wet socks. Wading through the water, Kid mentions that they perceive a descent, despite the water level never rising. As fleshblobs gradually narrow the space, the party reaches a clearing that leads up to a large door.<ref name="EOX_87"></ref> [TO BE EXPANDED] |trivia= * The paint connecting floor 1 to the basement as the cast exits the elevator is disconnected from its surroundings. Similar occurrences are seen with the door to the [[Ball Pit]] and [[The Lab]]. * It's not mentioned where the water drains off to between the large hallway and the door room. * The colors corresponding to the rooms on the large door puzzle were incorrect until [TBA] * |gallery= gallery }} 6075d17db4112711418ebca529ddf4079cee15d6 Floor 2 0 100 349 305 2023-10-07T03:47:33Z Werewire 2 made trivia a proper list wikitext text/x-wiki {{Infobox/Location page |name=Floor 2 |quote=“WHAT.” Exclaims [[Ashley]]. “WHY ARE THERE ALL THESE DOORS. HELLO? WHAT?!” |first_appearance=Page 80 4/3/22 <ref name="EOX_80">https://ecopportunityx.cfw.me/comics/80/</ref> |introduction=Floor 2 is the first floor above ground level in [[the Tower]]. |summary=Preceded by the [[Maze]] on [[Floor 3]] and followed by [[Floor 1]], this floor contains no real "rooms". The floor has many doors, the elevator, the stairwell leading down, and a large [[Fleshblob]] in the middle, which [[Kid]] gives a [[Electric Tape|Tape bow]]. Despite the large quantity of doors, spatial distortions render them all half-formed, and when Kid, [[Chantal]] , and Ashley attempt to enter separate doors, they all end up falling onto the stairwell (and onto [[Brian]], who is luckily unharmed). [[Ashley]] suggests that the doors from this floor are placed because of the movement of rooms from other floors. |trivia=* The set of stairs leading down to this floor from the maze are never pictured, only mentioned in text.<ref name="EOX_80"/> |highlight_color=FF00FF |image=EOX_Floor_2.png |gallery= <gallery> EOX_Page_80.png|First appearance of floor 2 EOX_page_81.png|Placing the tape bow on the fleshblob EOX_Page_81 (6).png|The stairwell leading down to floor 1 EOX_Page_82 (2).png|Holding hands as they descend </gallery> }} 09e638a31bc78ff018eb4310155e9beb632ff743 Main Page 0 1 350 303 2023-10-26T07:53:42Z Werewire 2 comic update wikitext text/x-wiki __NOTOC__ == Welcome to {{SITENAME}}! == This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. It is an ongoing interactive horror comic. It stars an [[Kid|unnamed gray child]] trapped in a facility, staging their escape after waking up in the immediate aftermath of a mysterious incident. '''Latest Update:''' 24th October 2023, 11:14 PM [https://ecopportunityx.cfw.me Page 146] == For visitors of this wiki: == This wiki will contain helpful information about the characters and setting of EOX. Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]] Things that are planned to be included is: * Basic Plot summaries * Personality * Relationships * <s>Highlight colors</s> * Images from the comics * <s>All the cast images</s> minus a possible few from brian this is complete '''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''. ==== I have a problem with/suggestion for the wiki! ==== If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact: * [[User:Werewire|Me]] * Any future "mods" === Wiki Page Links === * [[:Category:Characters|Characters]] * [[:Category:Locations|Locations]] * [[:Category:Items|Items]] * [[Special:ListFiles|Uploaded Images]] * [[Special:Categories|Categories]] * [[Special:RecentChanges|Recent Changes]] * [[Special:WantedPages|Wanted Pages]] * [[Special:ShortPages|Short Pages]] === Additional Links === * [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom * [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts 78979e3a01d7cef2b2d10553cc7dd7baf9eeec9e 351 350 2023-10-31T04:56:22Z Werewire 2 /* Welcome to {{SITENAME}}! */ comic update wikitext text/x-wiki __NOTOC__ == Welcome to {{SITENAME}}! == This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. It is an ongoing interactive horror comic. It stars an [[Kid|unnamed gray child]] trapped in a facility, staging their escape after waking up in the immediate aftermath of a mysterious incident. '''Latest Update:''' 31st October 2023, 12:09 AM [https://ecopportunityx.cfw.me Page 149] == For visitors of this wiki: == This wiki will contain helpful information about the characters and setting of EOX. Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]] Things that are planned to be included is: * Basic Plot summaries * Personality * Relationships * <s>Highlight colors</s> * Images from the comics * <s>All the cast images</s> minus a possible few from brian this is complete '''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''. ==== I have a problem with/suggestion for the wiki! ==== If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact: * [[User:Werewire|Me]] * Any future "mods" === Wiki Page Links === * [[:Category:Characters|Characters]] * [[:Category:Locations|Locations]] * [[:Category:Items|Items]] * [[Special:ListFiles|Uploaded Images]] * [[Special:Categories|Categories]] * [[Special:RecentChanges|Recent Changes]] * [[Special:WantedPages|Wanted Pages]] * [[Special:ShortPages|Short Pages]] === Additional Links === * [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom * [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts 44e03ed51ac452b758333badcc6b392afef40e0e 352 351 2023-11-18T23:39:45Z Werewire 2 /* Welcome to {{SITENAME}}! */ comic update wikitext text/x-wiki __NOTOC__ == Welcome to {{SITENAME}}! == This wiki is about the webcomic [https://ecopportunityx.cfw.me/ EcopportunityX] by [https://comicfury.com/profile.php?username=bwooom Bwooom]. It is an ongoing interactive horror comic. It stars an [[Kid|unnamed gray child]] trapped in a facility, staging their escape after waking up in the immediate aftermath of a mysterious incident. '''Latest Update:''' 18th Nov 2023, 3:43 PM [https://ecopportunityx.cfw.me Page 153] == For visitors of this wiki: == This wiki will contain helpful information about the characters and setting of EOX. Feel free to help out if you'd like, just make character pages, etc, with the use of the [[Template:Infobox/Character page|template page]] Things that are planned to be included is: * Basic Plot summaries * Personality * Relationships * <s>Highlight colors</s> * Images from the comics * <s>All the cast images</s> minus a possible few from brian this is complete '''Hi Message from me, the person who made this wiki. ummmm. I'm going to try my best but i don't know shit abt wikis oh god'''. ==== I have a problem with/suggestion for the wiki! ==== If you have any issues with how the wiki is run or formated or want to suggest something feel free to contact: * [[User:Werewire|Me]] * Any future "mods" === Wiki Page Links === * [[:Category:Characters|Characters]] * [[:Category:Locations|Locations]] * [[:Category:Items|Items]] * [[Special:ListFiles|Uploaded Images]] * [[Special:Categories|Categories]] * [[Special:RecentChanges|Recent Changes]] * [[Special:WantedPages|Wanted Pages]] * [[Special:ShortPages|Short Pages]] === Additional Links === * [https://Bwooom.tumblr.com Tumblr] and [https://twitter.com/bw000m Twitter] accounts of Bwooom * [https://EcopportunityX.tumblr.com Tumblr] and [https://twitter.com/ecopportunityx Twitter] EcopportunityX accounts 627326f3cc2091bd8a54d6ce45d37e66a12a5976